二进制漏洞分析-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
华为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_t
ifaa_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
恶意软件开发(更新中)
还有很多免费教程(限学员)
更多详细内容添加作者微信