聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
美国政府将缓冲溢出漏洞称为“不可原谅的缺陷”,提到微软、VMware 等公司产品中存在此类漏洞,督促所有软件开发人员采用设计即安全实践,避免制造更多缓冲溢出漏洞。
当软件异常将多余所分配的数据写入内存存储时,就会发生缓冲溢出漏洞。这些多余的信息溢出到其它内存中并对内存进行修改。聪明的攻击者可将仔细构造的含有这些漏洞的数据投送到软件中,劫持程序流,实现恶意目的或使程序崩溃。
近期,FBI和CISA将此类内存安全漏洞称作“不可原谅”,因为如果开发人员停止使用过时且不安全的编程实践和语言,则这类漏洞是可以避免的。这两家机构列出了六个缓冲溢出漏洞,其中一些在补丁发布前已遭利用。它们是:
CVE-2025-21333:位于微软Hyper-V NT Kernel Integration VSP 组件中的提权漏洞,可导致位于基于容器环境中的本地攻击者获得系统权限。
CVE-2025-0282:严重的基于栈的缓冲溢出漏洞,可导致在Ivanti的Connect Secure 中实现未认证的RCE。该漏洞在0day状态时已遭利用。
CVE-2024-49138:另外一个微软漏洞,在0day状态时已遭利用,可导致在微软Common Log File System Driver 上执行提权攻击,获得完整的系统访问权限。
CVE-2024-38812:严重的VMware vCenter 堆缓冲溢出漏洞,可导致RCE。博通首次修复不起作用后已遭利用。
CVE-2023-6549:位于Citrix Netscaler ADC 和 Gateway 产品中的内存溢出漏洞,可导致界外内存读和拒绝服务攻击。
CVE-2022-0185:位于Linux 内核 legacy_parse_param() 函数中的堆缓冲溢出漏洞,如非特权用户名称空间已启用,则可导致 Linux 用户命名空间中的本地用户提升权限。
CISA和FBI在安全联合公告中提到,“CISA和FBI认为,使用不安全的、造成缓冲溢出漏洞持久存在的软件开发实践,尤其是使用内存不安全语言的实践,为我们的国家和经济安全造成不可接受的风险。” 这两家机构认为开发人员可使用内存安全编程语言如 Rust、Go和Swift 来避免制造此类缺陷。二者认为通过内存安全语言重写整个代码库将要求“重大投入”,因此建议制造商执行分期的过渡计划。在过渡过程中,“制造商还应考虑利用多种技术,在已有的代码库中限制内存安全漏洞的出现。”
FBI和CISA还认为,实现编译时间和运行时防护措施的编译器标记也可能有所帮助。通过工具链即启用AddressSanitizer和MemorySanitizer的工具,运行单元测试也被提到时有用的技术。这两款工具可执行运行时检查,寻找内存安全问题。它们还督促软件开发人员“在整个开发生命周期开展进攻性竞对产品测试,包括静态分析、模糊测试和人工审计”。另外,FBI和CISA还推荐对以往漏洞执行根因分析,为开发人员提供经验和教训。
代码卫士试用地址:https://codesafe.qianxin.com
开源卫士试用地址:https://oss.qianxin.com
推荐阅读
微软紧急提醒开发人员更新 .NET 安装程序,以免遭供应链攻击
CVE-2021-2429:MySQL InnoDB Memcached 插件中的堆缓冲区溢出漏洞详解
原文链接
https://www.theregister.com/2025/02/13/fbi_cisa_unforgivable_buffer_overflow/
题图:Pexels License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~