Linux Kernel bis 5.15.114/6.1.30/6.3.4 munmap Pufferüberlauf

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 7.6 | $0-$5k | 0.00 |
Zusammenfassung
In Linux Kernel bis 5.15.114/6.1.30/6.3.4 wurde eine kritische Schwachstelle gefunden. Es betrifft die Funktion munmap. Durch Beeinflussen mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Diese Schwachstelle wird als CVE-2023-54157 gehandelt. Es ist kein Exploit verfügbar.
Es wird empfohlen, die betroffene Komponente zu aktualisieren.
Details
Eine Schwachstelle wurde in Linux Kernel bis 5.15.114/6.1.30/6.3.4 ausgemacht. Sie wurde als kritisch eingestuft. Davon betroffen ist die Funktion munmap. Durch die Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-416. Auswirkungen hat dies auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:
In the Linux kernel, the following vulnerability has been resolved:
binder: fix UAF of alloc->vma in race with munmap()
[ cmllamas: clean forward port from commit 015ac18be7de ("binder: fix
UAF of alloc->vma in race with munmap()") in 5.10 stable. It is needed
in mainline after the revert of commit a43cfc87caaf ("android: binder:
stop saving a pointer to the VMA") as pointed out by Liam. The commit
log and tags have been tweaked to reflect this. ]
In commit 720c24192404 ("ANDROID: binder: change down_write to
down_read") binder assumed the mmap read lock is sufficient to protect
alloc->vma inside binder_update_page_range(). This used to be accurate
until commit dd2283f2605e ("mm: mmap: zap pages with read mmap_sem in
munmap"), which now downgrades the mmap_lock after detaching the vma
from the rbtree in munmap(). Then it proceeds to teardown and free the
vma with only the read lock held.
This means that accesses to alloc->vma in binder_update_page_range() now
will race with vm_area_free() in munmap() and can cause a UAF as shown
in the following KASAN trace:
==================================================================
BUG: KASAN: use-after-free in vm_insert_page+0x7c/0x1f0
Read of size 8 at addr ffff16204ad00600 by task server/558
CPU: 3 PID: 558 Comm: server Not tainted 5.10.150-00001-gdc8dcf942daa #1
Hardware name: linux,dummy-virt (DT)
Call trace:
dump_backtrace+0x0/0x2a0
show_stack+0x18/0x2c
dump_stack+0xf8/0x164
print_address_description.constprop.0+0x9c/0x538
kasan_report+0x120/0x200
__asan_load8+0xa0/0xc4
vm_insert_page+0x7c/0x1f0
binder_update_page_range+0x278/0x50c
binder_alloc_new_buf+0x3f0/0xba0
binder_transaction+0x64c/0x3040
binder_thread_write+0x924/0x2020
binder_ioctl+0x1610/0x2e5c
__arm64_sys_ioctl+0xd4/0x120
el0_svc_common.constprop.0+0xac/0x270
do_el0_svc+0x38/0xa0
el0_svc+0x1c/0x2c
el0_sync_handler+0xe8/0x114
el0_sync+0x180/0x1c0
Allocated by task 559:
kasan_save_stack+0x38/0x6c
__kasan_kmalloc.constprop.0+0xe4/0xf0
kasan_slab_alloc+0x18/0x2c
kmem_cache_alloc+0x1b0/0x2d0
vm_area_alloc+0x28/0x94
mmap_region+0x378/0x920
do_mmap+0x3f0/0x600
vm_mmap_pgoff+0x150/0x17c
ksys_mmap_pgoff+0x284/0x2dc
__arm64_sys_mmap+0x84/0xa4
el0_svc_common.constprop.0+0xac/0x270
do_el0_svc+0x38/0xa0
el0_svc+0x1c/0x2c
el0_sync_handler+0xe8/0x114
el0_sync+0x180/0x1c0
Freed by task 560:
kasan_save_stack+0x38/0x6c
kasan_set_track+0x28/0x40
kasan_set_free_info+0x24/0x4c
__kasan_slab_free+0x100/0x164
kasan_slab_free+0x14/0x20
kmem_cache_free+0xc4/0x34c
vm_area_free+0x1c/0x2c
remove_vma+0x7c/0x94
__do_munmap+0x358/0x710
__vm_munmap+0xbc/0x130
__arm64_sys_munmap+0x4c/0x64
el0_svc_common.constprop.0+0xac/0x270
do_el0_svc+0x38/0xa0
el0_svc+0x1c/0x2c
el0_sync_handler+0xe8/0x114
el0_sync+0x180/0x1c0
[...]
==================================================================
To prevent the race above, revert back to taking the mmap write lock
inside binder_update_page_range(). One might expect an increase of mmap
lock contention. However, binder already serializes these calls via top
level alloc->mutex. Also, there was no performance impact shown when
running the binder benchmark tests.Bereitgestellt wird das Advisory unter git.kernel.org. Die Verwundbarkeit wird seit dem 24.12.2025 mit der eindeutigen Identifikation CVE-2023-54157 gehandelt. Sie ist leicht ausnutzbar. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. Ein Exploit zur Schwachstelle wird momentan etwa USD $0-$5k kosten (Preisberechnung vom 03.01.2026).
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 279780 (Linux Distros Unpatched Vulnerability : CVE-2023-54157) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Aktualisieren auf die Version 5.15.115, 6.1.31 oder 6.3.5 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 1bb8a65190d45cd5c7dbc85e29b9102110cd6be6/931ea1ed31be939c1efdbc49bc66d2a45684f9b4/ca0cc0a9c6e56c699e2acbb93d8024523021f3c3/d1d8875c8c13517f6fd1ff8d4d3e1ac366a17e07 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 (279780) und CERT Bund (WID-SEC-2025-2929) dokumentiert. If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Betroffen
- Open Source Linux Kernel
Produkt
Typ
Hersteller
Name
Version
- 5.15.114
- 6.1.0
- 6.1.1
- 6.1.2
- 6.1.3
- 6.1.4
- 6.1.5
- 6.1.6
- 6.1.7
- 6.1.8
- 6.1.9
- 6.1.10
- 6.1.11
- 6.1.12
- 6.1.13
- 6.1.14
- 6.1.15
- 6.1.16
- 6.1.17
- 6.1.18
- 6.1.19
- 6.1.20
- 6.1.21
- 6.1.22
- 6.1.23
- 6.1.24
- 6.1.25
- 6.1.26
- 6.1.27
- 6.1.28
- 6.1.29
- 6.1.30
- 6.3.0
- 6.3.1
- 6.3.2
- 6.3.3
- 6.3.4
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 8.0VulDB Meta Temp Score: 7.6
VulDB Base Score: 8.0
VulDB Temp Score: 7.6
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
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: PufferüberlaufCWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Teilweise
Verfügbarkeit: 🔒
Status: Nicht definiert
EPSS Score: 🔒
EPSS Percentile: 🔒
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 279780
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2023-54157
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 5.15.115/6.1.31/6.3.5
Patch: 1bb8a65190d45cd5c7dbc85e29b9102110cd6be6/931ea1ed31be939c1efdbc49bc66d2a45684f9b4/ca0cc0a9c6e56c699e2acbb93d8024523021f3c3/d1d8875c8c13517f6fd1ff8d4d3e1ac366a17e07
Timeline
24.12.2025 Advisory veröffentlicht24.12.2025 CVE zugewiesen
24.12.2025 VulDB Eintrag erstellt
03.01.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2023-54157 (🔒)
GCVE (CVE): GCVE-0-2023-54157
GCVE (VulDB): GCVE-100-338165
CERT Bund: WID-SEC-2025-2929 - Linux Kernel: Mehrere Schwachstellen
Eintrag
Erstellt: 24.12.2025 15:22Aktualisierung: 03.01.2026 08:56
Anpassungen: 24.12.2025 15:22 (58), 28.12.2025 14:25 (2), 03.01.2026 08:56 (7)
Komplett: 🔍
Cache ID: 216::103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.