sbt vulnerable to arbitrary file write via archive extraction (Zip Slip)
Impact
Given specially crafted zip or JAR file, IO.unzip allows writing of arbitrary file. The follow is an example of a malicious entry:
+2018-04-15 22:04:42 ..... 20 20 ../../../../../../root/.ssh/authorized_keys
This would have a potential to overwrite /root/.ssh/authorized_keys. Within sbt's main code, IO.unzip is used in pullRemoteCache task and Resolvers.remote; however many projects use IO.unzip(...) directly to implement custom tasks - https://github.com/search?q=IO.unzip+language%3AScala&type=code&l=Scala&p=1
Patches
The problem has been patched in https://github.com/sbt/io/pull/360 sbt 1.9.7 is available with the fix.
Workarounds
A workaround might be use some other library to unzip.
References
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Java / Kotlin (Maven) | org.scala-sbt:io_2.12 | >= 1.0.0, < 1.9.7 | 1.9.7 |
| Java / Kotlin (Maven) | org.scala-sbt:io_2.13 | >= 1.0.0, < 1.9.7 | 1.9.7 |
| Java / Kotlin (Maven) | org.scala-sbt:io_3 | >= 1.0.0, < 1.9.7 | 1.9.7 |
| Java / Kotlin (Maven) | org.scala-sbt:sbt | >= 0.3.4, < 1.9.7 | 1.9.7 |
Odnośniki
- Wektor CVSS
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L- Słabość (CWE)
CWE-22- Platforma
- Java / Kotlin (Maven)
- Paczka
org.scala-sbt:io_2.12, org.scala-sbt:io_2.13, org.scala-sbt:io_3- Ujawniono
- 24.10.2023
- Aktualizacja
- 11.10.2026 11:22
Źródła i licencje
OSV / GitHub Advisory Database - GHSA-h9mw-grgx-2fhf - CC BY 4.0
Historia podatności: org.scala-sbt:io_3
Wszystkie opisane podatności tej paczki (Java / Kotlin (Maven)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.
To jedyna znana podatność tej paczki.
Dowiedz się, które podatności dotyczą Twojej aplikacji
Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.