CVE-2026-40977CVE-2026-40977 是 Spring Boot 框架中的一个安全漏洞。当应用程序配置使用 `ApplicationPidFileWriter` 组件时,拥有对 PID 文件存储位置写入权限的本地攻击者,可以在每次应用程序启动时损坏主机上的一个文件。该漏洞主要源于对 PID 文件或符号链接的处理机制存在缺陷。尽管攻击需要具备本地高权限,但成功利用可能导致系统关键文件被篡改或破坏,从而影响系统的完整性和可用性。
该漏洞的原理在于 Spring Boot 的 `ApplicationPidFileWriter` 在写入 PID 文件时,未充分防范符号链接攻击。攻击者如果拥有对 PID 文件所在目录的写入权限,可以在应用程序启动之前,将合法的 PID 文件替换为指向系统中敏感文件(如 `/etc/passwd` 或关键配置文件)的符号链接。当应用程序尝试写入 PID 时,由于缺乏原子性检查或对符号链接的严格验证,PID 数据将被写入攻击者指定的目标文件中。这种竞争条件允许攻击者破坏任意文件内容。攻击链通常涉及监控或触发应用重启,并在写入操作发生前的短暂窗口内替换文件。虽然这通常不导致远程代码执行,但会严重影响系统的稳定性。