CVE-2026-7259该漏洞影响PHP 8.2.31、8.3.31、8.4.21和8.5.6之前的多个版本。由于Oniguruma和mbfl库之间的编码列表不匹配,当用户控制的输入影响传递给mb_regex_encoding()的编码时,会触发空指针解引用。这导致PHP进程发生段错误并崩溃,从而造成拒绝服务。
漏洞的核心机制在于PHP内部使用的Oniguruma正则表达式库与mbfl(多字节字符串过滤库)维护的编码列表存在不一致性。当调用mb_regex_encoding()函数时,如果传入的编码名称在Oniguruma中有效,但在mbfl的转换表中无效或处理逻辑不同,程序将无法正确处理该编码,进而导致空指针解引用。攻击者通过Web接口发送特制的恶意数据,使PHP脚本执行带有特定编码的mb_regex_encoding()调用。一旦触发,PHP进程会因非法内存访问而崩溃。在配置为多进程或多线程的服务器上,反复攻击可耗尽所有可用的工作进程,导致Web服务完全不可用。