CWE-479 信号处理例程中使用不可再入的函数 类弱点 1 条 CVE 漏洞汇总,含 AI 中文分析。
CWE-479 属于信号处理函数使用非重入函数的漏洞。当信号中断正在执行的非重入函数时,若信号处理程序再次调用该函数,会导致内存损坏或不可预测的系统状态。攻击者可通过发送特定信号触发此竞态条件,引发拒绝服务或代码执行。开发者应确保信号处理程序仅调用异步信号安全函数,避免使用标准库中非重入的函数,从而保障系统稳定性。
char *message; void sh(int dummy) { syslog(LOG_NOTICE,"%s\n",message); sleep(10); exit(0); } int main(int argc,char* argv[]) { ... signal(SIGHUP,sh); signal(SIGTERM,sh); sleep(10); exit(0); } If the execution of the first call to the signal handler is suspended after invoking syslog(), and the signal handler is called a second time, the memory allocated by syslog() enters an undefined, and possibly, exploitable state.| CVE ID | 标题 | CVSS | 风险等级 | Published |
|---|---|---|---|---|
| CVE-2021-26948 | HTMLDOC 代码问题漏洞 — htmldoc | 7.8 | - | 2022-03-03 |
CWE-479(信号处理例程中使用不可再入的函数) 是常见的弱点类别,本平台收录该类弱点关联的 1 条 CVE 漏洞。