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.
Attack Parameters
Impact Assessment
CVSS Vector v4.0
Weakness Type (CWE)
Vulnerable Products 2
| Configuration | From (including) | Up to (excluding) |
|---|---|---|
|
Scala.Epfl Sbt
cpe:2.3:a:scala.epfl:sbt:*:*:*:*:*:*:*:*
|
0.9.5
|
1.12.7
|
|
Microsoft Windows
cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*
|
— | — |