Linux Kernel bis 5.15.7 Direct IO Write brtfs_qgroup_reserve_data Denial of Service

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 4.9 | $0-$5k | 0.00 |
Zusammenfassung
Es wurde eine Schwachstelle mit der Einstufung problematisch in Linux Kernel bis 5.15.7 gefunden. Betroffen ist die Funktion brtfs_qgroup_reserve_data der Komponente Direct IO Write Handler. Dank Manipulation mit unbekannten Daten kann eine Denial of Service-Schwachstelle ausgenutzt werden.
Die Verwundbarkeit wird mit der eindeutigen Identifikation CVE-2021-47508 gehandelt. Es ist soweit kein Exploit verfügbar.
Als bestmögliche Massnahme wird das Einspielen eines Upgrades empfohlen.
Details
Es wurde eine problematische Schwachstelle in Linux Kernel bis 5.15.7 ausgemacht. Betroffen hiervon ist die Funktion brtfs_qgroup_reserve_data der Komponente Direct IO Write Handler. Durch das Beeinflussen mit einer unbekannten Eingabe kann eine Denial of Service-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-770 vorgenommen. Dies wirkt sich aus auf die Verfügbarkeit. CVE fasst zusammen:
In the Linux kernel, the following vulnerability has been resolved:
btrfs: free exchange changeset on failures
Fstests runs on my VMs have show several kmemleak reports like the following.
unreferenced object 0xffff88811ae59080 (size 64):
comm "xfs_io", pid 12124, jiffies 4294987392 (age 6.368s)
hex dump (first 32 bytes):
00 c0 1c 00 00 00 00 00 ff cf 1c 00 00 00 00 00 ................
90 97 e5 1a 81 88 ff ff 90 97 e5 1a 81 88 ff ff ................
backtrace:
[] ulist_add_merge+0x60/0x150 [btrfs]
[] set_state_bits+0x86/0xc0 [btrfs]
[] set_extent_bit+0x270/0x690 [btrfs]
[] set_record_extent_bits+0x19/0x20 [btrfs]
[] qgroup_reserve_data+0x274/0x310 [btrfs]
[] btrfs_check_data_free_space+0x5c/0xa0 [btrfs]
[] btrfs_delalloc_reserve_space+0x1b/0xa0 [btrfs]
[] btrfs_dio_iomap_begin+0x415/0x970 [btrfs]
[] iomap_iter+0x161/0x1e0
[] __iomap_dio_rw+0x1df/0x700
[] iomap_dio_rw+0x5/0x20
[] btrfs_file_write_iter+0x290/0x530 [btrfs]
[] new_sync_write+0x106/0x180
[] vfs_write+0x24d/0x2f0
[] __x64_sys_pwrite64+0x69/0xa0
[] do_syscall_64+0x43/0x90
In case brtfs_qgroup_reserve_data() or btrfs_delalloc_reserve_metadata()
fail the allocated extent_changeset will not be freed.
So in btrfs_check_data_free_space() and btrfs_delalloc_reserve_space()
free the allocated extent_changeset to get rid of the allocated memory.
The issue currently only happens in the direct IO write path, but only
after 65b3c08606e5 ("btrfs: fix ENOSPC failure when attempting direct IO
write into NOCOW range"), and also at defrag_one_locked_target(). Every
other place is always calling extent_changeset_free() even if its call
to btrfs_delalloc_reserve_space() or btrfs_check_data_free_space() has
failed.Auf git.kernel.org kann das Advisory eingesehen werden. Die Verwundbarkeit wird seit dem 22.05.2024 unter CVE-2021-47508 geführt. Sie gilt als schwierig auszunutzen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt.
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 239742 (TencentOS Server 2: kernel (TSSA-2024:1030)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Upgrade auf die Version 5.15.8 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches ca06c5cb1b6d/da5e817d9d75 beheben. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.
Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von Tenable (239742) dokumentiert. If you want to get best quality of vulnerability data, you may have to visit VulDB.
Produkt
Typ
Hersteller
Name
Version
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.0VulDB Meta Temp Score: 4.9
VulDB Base Score: 4.6
VulDB Temp Score: 4.4
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 5.5
NVD Vector: 🔍
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: Denial of ServiceCWE: CWE-770 / CWE-400 / CWE-404
CAPEC: 🔍
ATT&CK: 🔍
Physisch: Teilweise
Lokal: Ja
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: 239742
Nessus Name: TencentOS Server 2: kernel (TSSA-2024:1030)
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 5.15.8
Patch: ca06c5cb1b6d/da5e817d9d75
Timeline
22.05.2024 🔍24.05.2024 🔍
24.05.2024 🔍
25.09.2025 🔍
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2021-47508 (🔍)
GCVE (CVE): GCVE-0-2021-47508
GCVE (VulDB): GCVE-100-266154
Eintrag
Erstellt: 24.05.2024 17:27Aktualisierung: 25.09.2025 03:25
Anpassungen: 24.05.2024 17:27 (57), 21.06.2025 02:47 (3), 25.09.2025 03:25 (12)
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.