Description
sbt is a build tool for Scala, Java, and others. From version 0.9.5 to before version 1.12.7, on Windows, sbt uses Process("cmd", "/c", ...) to run VCS commands (git, hg, svn). The URI fragment (branch, tag, revision) is user-controlled via the build definition and passed to these commands without validation. Because cmd /c interprets &, |, and ; as command separators, a malicious fragment can execute arbitrary commands. This issue has been patched in version 1.12.7.
Problem types
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
Product status
References
github.com/sbt/sbt/security/advisories/GHSA-x4ff-q6h8-v7gw
github.com/...ommit/1ce945b6b79cbe3cef6c0fe9efbbd2904e0f479e
github.com/...ommit/3a474ab060df4dbfa825a7e7bc97e00056519800
github.com/sbt/sbt/releases/tag/v1.12.7