CVE-2024-49996
CRITICAL(9.4)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
- CVSS 9.4 — Kritisch
EPSS-Score
0.8%
Exploit-Wahrscheinlichkeit (30 Tage)
CVSS Score
9.4
Technische Schwere
SecBoard-Einordnung
CVE-2024-49996 betrifft den Linux-Kernel und ist eine Pufferüberlauf-Schwachstelle im Common Internet File System (CIFS) beim Parsen von NFS-Reparse-Punkten. Ein Angreifer könnte durch eine speziell präparierte Reparse-Struktur einen Pufferüberlauf auslösen. Dies kann zu einem Denial of Service oder potenziell zur Ausführung von beliebigem Code führen, da Speicher außerhalb des vorgesehenen Bereichs beschrieben wird. Die Schwachstelle wurde im Linux-Kernel behoben, indem die Berechnung der Datenpuffergröße korrigiert und Zugriffe auf InodeType und rdev-Werte nur bei ausreichender Puffergröße durchgeführt werden. Mit einem CVSS-Score von 9.4 (CRITICAL) ist diese Schwachstelle als hochkritisch einzustufen. Obwohl die Exploit-Wahrscheinlichkeit laut EPSS derzeit bei nur 1% liegt und sie nicht in CISA KEV gelistet ist, sollte das hohe Risiko aufgrund der potenziellen Auswirkungen nicht unterschätzt werden. Security-Teams sollten umgehend prüfen, ob ihre Linux-Systeme betroffen sind und die entsprechenden Kernel-Updates einspielen, um das Risiko eines Pufferüberlaufs zu eliminieren. Eine Priorisierung der Patches ist aufgrund der Kritikalität dringend empfohlen.
KI-gestützte Einordnung auf Basis der NVD-Daten.
Beschreibung
In the Linux kernel, the following vulnerability has been resolved: cifs: Fix buffer overflow when parsing NFS reparse points ReparseDataLength is sum of the InodeType size and DataBuffer size. So to get DataBuffer size it is needed to subtract InodeType's size from ReparseDataLength. Function cifs_strndup_from_utf16() is currentlly accessing buf->DataBuffer at position after the end of the buffer because it does not subtract InodeType size from the length. Fix this problem and correctly subtract variable len. Member InodeType is present only when reparse buffer is large enough. Check for ReparseDataLength before accessing InodeType to prevent another invalid memory access. Major and minor rdev values are present also only when reparse buffer is large enough. Check for reparse buffer size before calling reparse_mkdev().
Referenzen
- https://git.kernel.org/stable/c/01cdddde39b065074fd48f07027757783cbf5b7d
- https://git.kernel.org/stable/c/73b078e3314d4854fd8286f3ba65c860ddd3a3dd
- https://git.kernel.org/stable/c/7b222d6cb87077faf56a687a72af1951cf78c8a9
- https://git.kernel.org/stable/c/803b3a39cb096d8718c0aebc03fd19f11c7dc919
- https://git.kernel.org/stable/c/c173d47b69f07cd7ca08efb4e458adbd4725d8e9
- https://git.kernel.org/stable/c/c6db81c550cea0c73bd72ef55f579991e0e4ba07
- https://git.kernel.org/stable/c/e2a8910af01653c1c268984855629d71fb81f404
- https://git.kernel.org/stable/c/ec79e6170bcae8a6036a4b6960f5e7e59a785601
- https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html