CVE-2026-29050melange是一个允许用户使用声明式管道构建apk包的工具。在0.32.0至0.43.4版本之间存在一个路径遍历漏洞,攻击者可以通过影响melange配置文件,将`pipeline[].uses`设置为包含`../`序列或绝对路径的值,从而读取对melange进程可见的任意可YAML解析的文件,并可能导致命令执行。该漏洞绕过了通常覆盖树内管道定义的审查边界,对系统机密性和完整性构成威胁。
该漏洞的核心在于`pkg/build/compile.go`中的`(*Compiled).compilePipeline`函数将`pipeline[].uses`值直接传递给`filepath.Join(pipelineDir, uses + ".yaml")`,而没有验证该值。这允许攻击者通过构造包含`../`序列或绝对路径的`uses`值,使解析的路径转义`--pipeline-dir`限制,从而读取对melange进程可见的任意可YAML解析的文件。由于加载的文件随后被解释为melange管道,并且其`runs:`块通过构建沙箱中的`/bin/sh -c`执行,这还允许在构建期间运行来自树外文件的shell命令,绕过了通常覆盖树内管道定义的审查边界。