| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 5.5 | $0-$5k | 0.00 |
Zusammenfassung
In Wasmtime bis 6.0.1/7.0.0/8.0.0 wurde eine Schwachstelle gefunden. Sie wurde als problematisch eingestuft. Es geht hierbei um eine nicht näher spezifizierte Funktion. Mittels dem Manipulieren mit unbekannten Daten kann eine unbekannte Schwachstelle ausgenutzt werden. Die Identifikation der Schwachstelle wird mit CVE-2023-30624 vorgenommen. Der Angriff kann über das Netzwerk erfolgen. Es existiert kein Exploit. Ein Upgrade der betroffenen Komponente wird empfohlen.
Details
In Wasmtime bis 6.0.1/7.0.0/8.0.0 wurde eine Schwachstelle entdeckt. Sie wurde als problematisch eingestuft. CWE definiert das Problem als CWE-758. Die genauen Auswirkungen eines erfolgreichen Angriffs sind bisher nicht bekannt. CVE fasst zusammen:
Wasmtime is a standalone runtime for WebAssembly. Prior to versions 6.0.2, 7.0.1, and 8.0.1, Wasmtime's implementation of managing per-instance state, such as tables and memories, contains LLVM-level undefined behavior. This undefined behavior was found to cause runtime-level issues when compiled with LLVM 16 which causes some writes, which are critical for correctness, to be optimized away. Vulnerable versions of Wasmtime compiled with Rust 1.70, which is currently in beta, or later are known to have incorrectly compiled functions. Versions of Wasmtime compiled with the current Rust stable release, 1.69, and prior are not known at this time to have any issues, but can theoretically exhibit potential issues.
The underlying problem is that Wasmtime's runtime state for an instance involves a Rust-defined structure called `Instance` which has a trailing `VMContext` structure after it. This `VMContext` structure has a runtime-defined layout that is unique per-module. This representation cannot be expressed with safe code in Rust so `unsafe` code is required to maintain this state. The code doing this, however, has methods which take `&self` as an argument but modify data in the `VMContext` part of the allocation. This means that pointers derived from `&self` are mutated. This is typically not allowed, except in the presence of `UnsafeCell`, in Rust. When compiled to LLVM these functions have `noalias readonly` parameters which means it's UB to write through the pointers.
Wasmtime's internal representation and management of `VMContext` has been updated to use `&mut self` methods where appropriate. Additionally verification tools for `unsafe` code in Rust, such as `cargo miri`, are planned to be executed on the `main` branch soon to fix any Rust-level issues that may be exploited in future compiler versions.
Precomplied binaries available for Wasmtime from GitHub releases have been compiled with at most LLVM 15 so are not known to be vulnerable. As mentioned above, however, it's still recommended to update.
Wasmtime version 6.0.2, 7.0.1, and 8.0.1 have been issued which contain the patch necessary to work correctly on LLVM 16 and have no known UB on LLVM 15 and earlier. If Wasmtime is compiled with Rust 1.69 and prior, which use LLVM 15, then there are no known issues. There is a theoretical possibility for undefined behavior to exploited, however, so it's recommended that users upgrade to a patched version of Wasmtime. Users using beta Rust (1.70 at this time) or nightly Rust (1.71 at this time) must update to a patched version to work correctly.Die Schwachstelle wurde am 27.04.2023 als GHSA-ch89-5g45-qwc7 an die Öffentlichkeit getragen. Auf github.com kann das Advisory eingesehen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 13.04.2023 mit CVE-2023-30624 vorgenommen. Es wird vorausgesetzt, dass das Opfer eine spezifische Handlung vornimmt. Nicht vorhanden sind sowohl technische Details als auch ein Exploit zur Schwachstelle.
Ein Upgrade auf die Version 6.0.2, 7.0.1 oder 8.0.1 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 0977952dcd9d482bff7c288868ccb52769b3a92e beheben. Dieser kann von github.com bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Produkt
Name
Version
Lizenz
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.5VulDB Meta Temp Score: 5.5
VulDB Base Score: 3.9
VulDB Temp Score: 3.8
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 8.8
NVD Vector: 🔍
CNA Base Score: 3.9
CNA Vector (GitHub, Inc.): 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Erweiterte RechteCWE: CWE-758
CAPEC: 🔍
ATT&CK: 🔍
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔍
Status: Nicht definiert
EPSS Score: 🔍
EPSS Percentile: 🔍
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Wasmtime 6.0.2/7.0.1/8.0.1
Patch: 0977952dcd9d482bff7c288868ccb52769b3a92e
Timeline
13.04.2023 🔍27.04.2023 🔍
27.04.2023 🔍
21.05.2023 🔍
Quellen
Advisory: GHSA-ch89-5g45-qwc7Status: Bestätigt
CVE: CVE-2023-30624 (🔍)
GCVE (CVE): GCVE-0-2023-30624
GCVE (VulDB): GCVE-100-227602
Eintrag
Erstellt: 27.04.2023 20:31Aktualisierung: 21.05.2023 10:18
Anpassungen: 27.04.2023 20:31 (50), 21.05.2023 10:18 (11)
Komplett: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.