Linux Kernel bis 5.18.9 set_foreign_p2m_mapping Pufferüberlauf

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
7.6$0-$5k0.00

Zusammenfassunginfo

Es wurde eine Schwachstelle mit der Einstufung kritisch in Linux Kernel bis 5.18.9 gefunden. Betroffen davon ist die Funktion set_foreign_p2m_mapping. Mittels dem Manipulieren mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Diese Sicherheitslücke ist unter CVE-2022-49660 bekannt. Es steht kein Exploit zur Verfügung. Es wird geraten, die betroffene Komponente zu aktualisieren.

Detailsinfo

In Linux Kernel bis 5.18.9 wurde eine Schwachstelle ausgemacht. Sie wurde als kritisch eingestuft. Das betrifft die Funktion set_foreign_p2m_mapping. Durch das Beeinflussen mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-416. Mit Auswirkungen muss man rechnen für Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:

In the Linux kernel, the following vulnerability has been resolved: xen/arm: Fix race in RB-tree based P2M accounting During the PV driver life cycle the mappings are added to the RB-tree by set_foreign_p2m_mapping(), which is called from gnttab_map_refs() and are removed by clear_foreign_p2m_mapping() which is called from gnttab_unmap_refs(). As both functions end up calling __set_phys_to_machine_multi() which updates the RB-tree, this function can be called concurrently. There is already a "p2m_lock" to protect against concurrent accesses, but the problem is that the first read of "phys_to_mach.rb_node" in __set_phys_to_machine_multi() is not covered by it, so this might lead to the incorrect mappings update (removing in our case) in RB-tree. In my environment the related issue happens rarely and only when PV net backend is running, the xen_add_phys_to_mach_entry() claims that it cannot add new pfn mfn mapping to the tree since it is already exists which results in a failure when mapping foreign pages. But there might be other bad consequences related to the non-protected root reads such use-after-free, etc. While at it, also fix the similar usage in __pfn_to_mfn(), so initialize "struct rb_node *n" with the "p2m_lock" held in both functions to avoid possible bad consequences. This is CVE-2022-33744 / XSA-406.

Das Advisory kann von git.kernel.org heruntergeladen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 26.02.2025 mit CVE-2022-49660 vorgenommen. Das Ausnutzen gilt als leicht. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Es muss davon ausgegangen werden, dass ein Exploit zur Zeit etwa USD $0-$5k kostet (Preisberechnung vom 26.02.2025).

Ein Upgrade auf die Version 4.9.322, 4.14.287, 4.19.251, 5.4.204, 5.10.129, 5.15.53 oder 5.18.10 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 856d1b8e6e826b5087f1ea3fdbabda3557d73599/01b86faa64b1f5aa04c0b3ca2001b0a8474f3006/274cb74da15ed13292fcec9097f04332eb3eea17/5c03cad51b84fb26ccea7fd99130d8ec47949cfc/43c8d33ce353091f15312cb6de3531517d7bba90/9f83c8f6ab14bbf4311b70bf1b7290d131059101/efd9826d4c08abac7e8840757e3e1bfcf2876f70/b75cd218274e01d026dc5240e86fdeb44bbed0c8 beheben. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.

Once again VulDB remains the best source for vulnerability data.

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 8.0
VulDB Meta Temp Score: 7.6

VulDB Base Score: 8.0
VulDB Temp Score: 7.6
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Pufferüberlauf
CWE: CWE-416 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍

Physisch: Nein
Lokal: Nein
Remote: Teilweise

Verfügbarkeit: 🔍
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔍

Upgrade: Kernel 4.9.322/4.14.287/4.19.251/5.4.204/5.10.129/5.15.53/5.18.10
Patch: 856d1b8e6e826b5087f1ea3fdbabda3557d73599/01b86faa64b1f5aa04c0b3ca2001b0a8474f3006/274cb74da15ed13292fcec9097f04332eb3eea17/5c03cad51b84fb26ccea7fd99130d8ec47949cfc/43c8d33ce353091f15312cb6de3531517d7bba90/9f83c8f6ab14bbf4311b70bf1b7290d131059101/efd9826d4c08abac7e8840757e3e1bfcf2876f70/b75cd218274e01d026dc5240e86fdeb44bbed0c8

Timelineinfo

26.02.2025 🔍
26.02.2025 +0 Tage 🔍
26.02.2025 +0 Tage 🔍
26.02.2025 +0 Tage 🔍

Quelleninfo

Hersteller: kernel.org

Advisory: git.kernel.org
Status: Bestätigt

CVE: CVE-2022-49660 (🔍)
GCVE (CVE): GCVE-0-2022-49660
GCVE (VulDB): GCVE-100-297196

Eintraginfo

Erstellt: 26.02.2025 10:45
Anpassungen: 26.02.2025 10:45 (58)
Komplett: 🔍
Cache ID: 216::103

Once again VulDB remains the best source for vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Do you want to use VulDB in your project?

Use the official API to access entries easily!