二进制漏洞分析-27.华为TrustZone Ifaa漏洞
二进制漏洞分析-5.华为安全监控漏洞(SMC MNTN OOB 访问)二进制漏洞分析-10.华为TrustZone TEE_SERVICE_VOICE_REC漏洞二进制漏洞分析-19.华为Trust 2023-12-21 21:40:46 Author: 安全狗的自我修养(查看原文) 阅读量:61 收藏

  •  

  • 二进制漏洞分析-5.华为安全监控漏洞(SMC MNTN OOB 访问)

  • 二进制漏洞分析-10.华为TrustZone TEE_SERVICE_VOICE_REC漏洞

  • 二进制漏洞分析-19.华为TrustZone TCIS漏洞

  • 二进制漏洞分析-21.华为TrustZone TALoader信息泄露

  • 二进制漏洞分析-22.华为TrustZone TA_uDFingerPrint漏洞

  • 二进制漏洞分析-23.华为TrustZone TA_SensorInfo漏洞

  • 二进制漏洞分析-24.华为TrustZone TA_HuaweiWallet漏洞

  • 二进制漏洞分析-25.华为TrustZone TA_SignTool OOB Read

  • 二进制漏洞分析-26.华为华为TrustZone IfaaKey_TA漏洞

华为TrustZone Ifaa漏洞

 此通报包含有关以下漏洞的信息:

  • CVE-2021-40050 漏洞 parcel_read_ifaa_cert中的堆栈缓冲区溢出

堆栈缓冲区溢出parcel_read_ifaa_cert

该函数用于解析来自用户控制的宗地的证书。parcel_read_ifaa_cert

int parcel_read_ifaa_cert(parcel_t *parcel_in, cert_t *cert) {
// ...error checking omitted...
parcel_read_uint32(parcel_in, &cert->size_n);
parcel_read(parcel_in, cert->n, cert->size_n);
parcel_read_uint32(parcel_in, &cert->size_e);
parcel_read(parcel_in, cert->e, cert->size_e);
parcel_read_uint32(parcel_in, &cert->sign_len);
parcel_read(parcel_in, cert->sign, cert->sign_len);
// ...
}

它将使用从宗地中提取的信息填充结构。结构字段具有固定的最大大小,在将数据复制到相应的字段中之前,该函数将从宗地读取实际大小。该函数不会检查从包裹中读取的大小是否小于固定的最大大小。cert_t

struct cert_t
{
int enc_alg;
int size_n;
char n[256];
int size_e;
char e[256];
char sign[256];
int sign_len;
};

由于结构是在调用方函数的堆栈上分配的,因此将导致堆栈缓冲区溢出。cert_tifaa_decode_cert_chain_inner

int ifaa_decode_cert_chain_inner(parcel_t *parcel_in, cert_chain_t *chain) {
// ...
cert_t cert;
// ...
parcel_read_cert(parcel_in, &cert);
// ...
int parcel_read_cert(parcel_t *parcel_in, cert_t *cert) {
// ...
return parcel_read_ifaa_cert(parcel_in, cert);
}

触发此堆栈缓冲区溢出的概念验证代码会导致以下崩溃:

[HM] lv = 3a703fc
[HM] ======================Fatal Error===================
[HM] Crash: __stack_chk_fail
[HM] [ERROR][2519]process 1e00000028 (tid: 40) instruction fault:
[HM] [ERROR][2520]Bad addr: 0xffffff9da0a01c94
[HM] Dump task states for tcb
[HM] ----------
[HM] name=[ifaa] tid=40 is-idle=0 is-curr=0
[HM] state=BLOCKED@MEMFAULT sched.pol=0 prio=46 queued=1
[HM] aff[0]=ff
[HM] flags=1000 smc-switch=0 ca=8382 prefer-ca=8382
[HM] Registers dump:
[HM] ----------
[HM] 32 bits userspace stack dump:
[HM] ----------
[HM] <__stack_chk_fail+0x3c/0x40>
[HM] <__stack_chk_fail>+0x38/0x40
[HM] Dump task states END
[HM]

受影响的设备

我们已验证该漏洞是否影响了以下设备:

  • 麒麟990:P40 专业版 (ELS)

请注意,其他型号可能已受到影响。

补丁

名字严厉CVE漏洞补丁
堆栈缓冲区溢出parcel_read_ifaa_cert高CVE-2021-40050 漏洞2022 年 <> 月

时间线

  • 13年2021月<>日 - 向华为PSIRT发送漏洞报告。

  • 12年2022月<>日 - 华为PSIRT确认该漏洞报告。

  • 01年2022月2022日 - 华为PSIRT表示,此问题已在<>年<>月更新中修复。

  • 从 30 年 2022 月 19 日至 2023 年 <> 月 <> 日 - 我们定期交换有关公告发布的信息。

  • 二进制漏洞(更新中)

  • 其它课程

  • windows网络安全防火墙与虚拟网卡(更新完成)

  • windows文件过滤(更新完成)

  • USB过滤(更新完成)

  • 游戏安全(更新中)

  • ios逆向

  • windbg

  • 恶意软件开发(更新中)

  • 还有很多免费教程(限学员)

  • 更多详细内容添加作者微信


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwOTE5MDY5NA==&mid=2247490735&idx=1&sn=78719503706f7a257d8d4ea50cf6e375&chksm=c03d568b012652a2add569975ff1b47915f805c28152f8abdcf108c19ba49a71911a37e8185b&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh