Linux Kernel bis 6.11.2 /proc/iomem region_intersects erweiterte Rechte

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

Zusammenfassunginfo

Eine Schwachstelle wurde in Linux Kernel bis 6.11.2 gefunden. Sie wurde als kritisch eingestuft. Es geht um die Funktion region_intersects der Datei /proc/iomem. Durch Manipulation mit unbekannten Daten kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden. Die Identifikation der Schwachstelle findet als CVE-2024-49878 statt. Es steht kein Exploit zur Verfügung. Es wird geraten, die betroffene Komponente zu aktualisieren.

Detailsinfo

Es wurde eine Schwachstelle in Linux Kernel bis 6.11.2 entdeckt. Sie wurde als kritisch eingestuft. Hiervon betroffen ist die Funktion region_intersects der Datei /proc/iomem. Mit der Manipulation mit einer unbekannten Eingabe kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-275 vorgenommen. Auswirken tut sich dies auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

In the Linux kernel, the following vulnerability has been resolved: resource: fix region_intersects() vs add_memory_driver_managed() On a system with CXL memory, the resource tree (/proc/iomem) related to CXL memory may look like something as follows. 490000000-50fffffff : CXL Window 0 490000000-50fffffff : region0 490000000-50fffffff : dax0.0 490000000-50fffffff : System RAM (kmem) Because drivers/dax/kmem.c calls add_memory_driver_managed() during onlining CXL memory, which makes "System RAM (kmem)" a descendant of "CXL Window X". This confuses region_intersects(), which expects all "System RAM" resources to be at the top level of iomem_resource. This can lead to bugs. For example, when the following command line is executed to write some memory in CXL memory range via /dev/mem, $ dd if=data of=/dev/mem bs=$((1 > 10)) count=1 dd: error writing '/dev/mem': Bad address 1+0 records in 0+0 records out 0 bytes copied, 0.0283507 s, 0.0 kB/s the command fails as expected. However, the error code is wrong. It should be "Operation not permitted" instead of "Bad address". More seriously, the /dev/mem permission checking in devmem_is_allowed() passes incorrectly. Although the accessing is prevented later because ioremap() isn't allowed to map system RAM, it is a potential security issue. During command executing, the following warning is reported in the kernel log for calling ioremap() on system RAM. ioremap on RAM at 0x0000000490000000 - 0x0000000490000fff WARNING: CPU: 2 PID: 416 at arch/x86/mm/ioremap.c:216 __ioremap_caller.constprop.0+0x131/0x35d Call Trace: memremap+0xcb/0x184 xlate_dev_mem_ptr+0x25/0x2f write_mem+0x94/0xfb vfs_write+0x128/0x26d ksys_write+0xac/0xfe do_syscall_64+0x9a/0xfd entry_SYSCALL_64_after_hwframe+0x4b/0x53 The details of command execution process are as follows. In the above resource tree, "System RAM" is a descendant of "CXL Window 0" instead of a top level resource. So, region_intersects() will report no System RAM resources in the CXL memory region incorrectly, because it only checks the top level resources. Consequently, devmem_is_allowed() will return 1 (allow access via /dev/mem) for CXL memory region incorrectly. Fortunately, ioremap() doesn't allow to map System RAM and reject the access. So, region_intersects() needs to be fixed to work correctly with the resource tree with "System RAM" not at top level as above. To fix it, if we found a unmatched resource in the top level, we will continue to search matched resources in its descendant resources. So, we will not miss any matched resources in resource tree anymore. In the new implementation, an example resource tree |------------- "CXL Window 0" ------------| |-- "System RAM" --| will behave similar as the following fake resource tree for region_intersects(, IORESOURCE_SYSTEM_RAM, ), |-- "System RAM" --||-- "CXL Window 0a" --| Where "CXL Window 0a" is part of the original "CXL Window 0" that isn't covered by "System RAM".

Das Advisory findet sich auf git.kernel.org. Die Identifikation der Schwachstelle wird seit dem 21.10.2024 mit CVE-2024-49878 vorgenommen. Sie ist leicht auszunutzen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt. Die Beschaffenheit der Schwachstelle lässt vermuten, dass ein Exploit momentan zu etwa USD $0-$5k gehandelt werden wird (Preisberechnung vom 19.01.2026). Diese Schwachstelle wird durch das MITRE ATT&CK als Angriffstechnik T1222 bezeichnet.

Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 212843 (CBL Mariner 2.0 Security Update: kernel (CVE-2024-49878)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.

Ein Aktualisieren auf die Version 5.10.227, 5.15.168, 6.1.113, 6.6.55, 6.10.14 oder 6.11.3 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 1d5f85f1b7db/8a6fef7d22a1/4b90d2eb451b/393331e16ce2/06ff97a20b8c/927abc5b7d6d/b4afe4183ec7 lösen. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Upgrade auf eine neue Version empfohlen.

Unter anderem wird der Fehler auch in den Datenbanken von Tenable (212843) und CERT Bund (WID-SEC-2024-3251) dokumentiert. Be aware that VulDB is the high quality source for vulnerability data.

Betroffen

  • Google Container-Optimized OS
  • Debian Linux
  • Amazon Linux 2
  • Red Hat Enterprise Linux
  • NetApp StorageGRID
  • Ubuntu Linux
  • SUSE Linux
  • Oracle Linux
  • Kyocera Printer
  • NetApp AFF
  • NetApp ActiveIQ Unified Manager
  • SUSE openSUSE
  • IBM Security Guardium
  • RESF Rocky Linux
  • Dell NetWorker
  • Dell Avamar
  • IBM QRadar SIEM
  • NetApp FAS
  • SolarWinds Security Event Manager
  • Dell PowerProtect Data Domain
  • Open Source Linux Kernel
  • Dell PowerScale OneFS

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 5.5
VulDB Meta Temp Score: 5.4

VulDB Base Score: 5.5
VulDB Temp Score: 5.3
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 5.5
NVD Vector: 🔍

CVSSv2info

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

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

Exploitinginfo

Klasse: Erweiterte Rechte
CWE: CWE-275 / CWE-266
CAPEC: 🔍
ATT&CK: 🔍

Physisch: Teilweise
Lokal: Ja
Remote: Teilweise

Verfügbarkeit: 🔍
Status: Nicht definiert

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 212843
Nessus Name: CBL Mariner 2.0 Security Update: kernel (CVE-2024-49878)

Threat Intelligenceinfo

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

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔍

Upgrade: Kernel 5.10.227/5.15.168/6.1.113/6.6.55/6.10.14/6.11.3
Patch: 1d5f85f1b7db/8a6fef7d22a1/4b90d2eb451b/393331e16ce2/06ff97a20b8c/927abc5b7d6d/b4afe4183ec7

Timelineinfo

21.10.2024 🔍
21.10.2024 +0 Tage 🔍
21.10.2024 +0 Tage 🔍
19.01.2026 +455 Tage 🔍

Quelleninfo

Hersteller: kernel.org

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

CVE: CVE-2024-49878 (🔍)
GCVE (CVE): GCVE-0-2024-49878
GCVE (VulDB): GCVE-100-281151
CERT Bund: WID-SEC-2024-3251 - Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service

Eintraginfo

Erstellt: 21.10.2024 20:44
Aktualisierung: 19.01.2026 09:39
Anpassungen: 21.10.2024 20:44 (59), 24.10.2024 03:11 (1), 14.11.2024 03:16 (10), 14.12.2024 04:27 (2), 26.07.2025 18:27 (7), 06.10.2025 03:03 (1), 19.01.2026 09:39 (1)
Komplett: 🔍
Cache ID: 216::103

Be aware that VulDB is the high quality source for vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

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

Do you know our Splunk app?

Download it now for free!