CVE-2026-23742Skipper是一个用于服务组合的HTTP路由和反向代理工具。在0.23.0版本之前,Skipper的默认配置为-lua-sources=inline,file,这允许通过内联方式执行Lua脚本。安全问题是,如果攻击者能够创建Lua过滤器(例如通过Kubernetes Ingress资源),他们可以利用内联Lua脚本功能读取skipper进程可访问的文件系统内容。当攻击者具有日志读取权限时,可以进一步获取skipper的敏感密钥信息。该漏洞的CVSS评分为8.8,属于高危级别,攻击复杂度低,无需特殊权限即可利用。攻击向量为网络,认证要求低权限即可,对机密性、完整性和可用性均造成高影响。
漏洞根源在于Skipper默认启用了Lua脚本的内联执行功能(-lua-sources=inline)。在Kubernetes环境中,攻击者可以通过创建或修改Ingress资源来注入恶意Lua过滤器代码。由于skipper进程拥有特定文件系统的读取权限,恶意Lua脚本可以利用os.execute()或io.open()等函数读取敏感文件。攻击者首先读取日志文件获取skipper的配置信息和密钥存储路径,然后通过构造特定的Lua脚本读取如/etc/passwd、~/.ssh/*、环境变量文件等敏感资源。漏洞利用的关键在于:1)默认配置允许内联Lua执行;2)攻击者能够控制Ingress资源;3)skipper进程的文件系统权限可被Lua脚本滥用。修复版本0.23.0通过更改默认配置移除了inline选项,强制使用文件预定义的Lua脚本源。