Linux Kernel: Speicherzugriff außerhalb des zugewiesenen Speichers (Out-of-bounds) (CVE-2026-90413)
Veröffentlicht Zuletzt geändert Quellen: SUSE, Debian LTS, CVE.org, Debian, Msrc Update Guide, BSI
Was ist betroffen, was ist zu tun
Aktualisieren Sie Linux Kernel auf Version 5.10.270, Linux Kernel auf Version 5.15.221, Linux Kernel auf Version 6.1.188.
- Betroffen
- Linux Kernel
lt 3.10..5.10.270 - Linux Kernel
lt 5.11..5.15.221 - Linux Kernel
lt 5.16..6.1.188 - Linux Kernel
lt 6.2..6.6.157 - Linux Kernel
lt 6.7..6.12.110 - Linux Kernel
lt 6.13..6.18.52 - Linux Kernel
lt 6.19..7.2.6
- Linux Kernel
- Behoben in
- Linux Kernel
5.10.270 - Linux Kernel
5.15.221 - Linux Kernel
6.1.188 - Linux Kernel
6.6.157 - Linux Kernel
6.12.110 - Linux Kernel
6.18.52 - Linux Kernel
7.2.6 - Linux Kernel
7.3
- Linux Kernel
Unklar, ob und wie Sie betroffen sind? Frage zu dieser Schwachstelle stellen
Metriken
9,1
Priorität
XIEM Effective CVSS: höchste verfügbare CVSS-Bewertung aus NVD- und Herstellerangaben.
Quelle: Hersteller (CNA), CVSS v3
9,1
CVSS v3
Schweregrad Kritisch auf der Skala von 0 bis 10.
Quelle: SUSE, Debian LTS, CVE.org, Debian, Msrc Update Guide, BSI
0,8 %
EPSS-Score
Niedrig – Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
Quelle: FIRST EPSS, Perzentil 57,6
Alle Metriken anzeigen
- Schweregrad
- Kritisch
Priorität (0–325)
Der Priorisierungs-Score ist eine zusammengeführte Kennzahl, die mehrere Einzelsignale zu einer einzigen, handlungsleitenden Rangfolge verdichtet: technische Schwere (CVSS), Ausnutzungswahrscheinlichkeit (EPSS), der Status als bekannt ausgenutzt (KEV) und der Kontext des betroffenen Assets. Ziel ist die Antwort auf die einzig wirklich wichtige Frage im Schwachstellenmanagement: Was zuerst?
Im Glossar lesen- 100.04 Methodik
Exploit-Reife
Ein Exploit ist Code oder eine Technik, die eine konkrete Schwachstelle gezielt ausnutzt, um ein unbeabsichtigtes Verhalten zu erzwingen — etwa Code auszuführen oder Rechte auszuweiten. Er ist das Werkzeug, das aus einer theoretischen Lücke einen praktischen Angriff macht.
Im Glossar lesen- kein öffentlicher PoC bekannt
XIEM Effective CVSS
XIEM® ist das gestufte Managed-Security-Betriebsmodell von NEOSEC und eine eingetragene Marke der NEOSEC GmbH. Es erweitert klassisches SIEM — die zentrale Sammlung, Normalisierung und Korrelation sicherheitsrelevanter Ereignisse — um Endpunkt-Forensik, Netzwerk-Sichtbarkeit und Täuschungstechnik und führt diese zu drei aufeinander aufbauenden Stufen zusammen: Sentry, Orchestrate und Command.
Im Glossar lesen- 9,1 Methodik
CVSS v3
CVSS ist der weltweit verbreitete, offene Standard zur Bewertung der technischen Schwere einer Schwachstelle auf einer Skala von 0 bis 10. Er beschreibt, wie leicht eine Lücke ausnutzbar ist und welchen Schaden sie anrichten kann — nicht jedoch, wie wahrscheinlich ihre tatsächliche Ausnutzung ist. CVSS und das ergänzende EPSS beantworten bewusst unterschiedliche Fragen.
Im Glossar lesen- 9,1
EPSS-Score
Der EPSS-Score ist der absolute Modell-Output für eine einzelne Schwachstelle: die geschätzte Wahrscheinlichkeit einer realen Ausnutzung in den nächsten 30 Tagen, ausgedrückt als Wert zwischen 0 und 1 (bzw. 0 % bis 100 %). Ein Score von 0,42 bedeutet „das Modell schätzt eine 42-prozentige Chance auf reale Ausnutzung binnen 30 Tagen“.
Im Glossar lesen- 0,8 %
- Niedrig – Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
EPSS-Perzentil
Das EPSS-Perzentil ist die relative Einordnung einer Schwachstelle innerhalb aller EPSS-bewerteten CVEs, ausgedrückt als Wert zwischen 0 und 1. Ein Perzentil von 0,90 bedeutet „diese CVE hat einen höheren EPSS-Score als 90 % aller anderen bewerteten CVEs“. Anders als der EPSS-Score ist es keine Wahrscheinlichkeit — sondern eine Positionierung im Ranking.
Im Glossar lesen- 57,6
- Hoch – CVE rangiert über dem Median aller heute bewerteten CVEs (Rang ≥ 36 %).
KEV-Status
Der KEV-Katalog ist eine von der US-Behörde CISA gepflegte Liste von Schwachstellen, für die eine aktive Ausnutzung in der Praxis nachgewiesen ist. Er beantwortet nicht die Frage „wie schwer?“, sondern „wird es bereits angegriffen?“ — und priorisiert damit das Patchen scharf.
Im Glossar lesen- —
- Veröffentlicht
Erkennungsregeln
Für diese Schwachstelle liegt noch keine NEOSEC-Erkennungsregel vor.
Einordnung nach NIS2 und CRA
Regelbasierte Einordnung aus Ausnutzungsstatus und Schweregrad. Sie ersetzt keine Prüfung im Einzelfall.
NIS2
NIS2 ist die EU-Richtlinie (EU) 2022/2555 zur Erhöhung des Cybersicherheitsniveaus in der Union. Sie weitet Pflichten gegenüber der ersten NIS-Richtlinie deutlich aus: mehr Sektoren, verbindliches Risikomanagement, gestufte Meldepflichten und persönliche Verantwortung der Geschäftsleitung.
Im Glossar lesen- Hohe technische Schwere: Bewerten und beheben Sie die Schwachstelle im Schwachstellenmanagement nach Art. 21 Abs. 2 lit. e NIS2 und dokumentieren Sie die Entscheidung.
CRA
Der CRA ist die EU-Verordnung (EU) 2024/2847 mit horizontalen Cybersicherheitsanforderungen an „Produkte mit digitalen Elementen“ — von Industriesteuerungen über Software bis zu vernetzten Verbrauchergeräten. Erstmals müssen Hersteller Sicherheit über den gesamten Produktlebenszyklus gewährleisten, Schwachstellen behandeln und Sicherheitsupdates bereitstellen.
Im Glossar lesen- Ab dem 11.12.2027 verpflichtet Anhang I Teil II CRA Hersteller betroffener Produkte mit digitalen Elementen, Schwachstellen unverzüglich zu behandeln und Sicherheitsupdates bereitzustellen.
ISO/IEC 27001
ISO/IEC 27001 ist der international führende Standard für ein Informationssicherheits-Managementsystem (ISMS). Er beschreibt einen risikobasierten, prozessorientierten Rahmen, um Informationssicherheit systematisch zu planen, umzusetzen, zu überprüfen und zu verbessern.
Im Glossar lesen- Maßnahme A.8.8, Management technischer Schwachstellen: Relevanz für Ihre Systeme bewerten, Behebung einplanen und nachweisen.
Beschreibung
Im Linux-Kernel wurde folgende Schwachstelle behoben:
IB/isert: Ablehnung von Login-PDUs, die mehr Daten deklarieren, als empfangen wurden
isert_login_recv_done() zeichnet auf, wie viele Bytes das HCA tatsächlich in den Login-Puffer platziert hat, vergleicht dies jedoch nicht mit der Länge, die die BHS des Login-PDUs deklariert. isert_rx_login_req() kopiert min(login_req_len, MAX_KEY_VALUE_PAIRS) Bytes in login->req_buf, und der Login-Code liest dann die deklarierte Länge aus diesem Puffer zurück – für den ersten PDU in iscsi_target_locate_portal():
payload_length = ntoh24(login_req->dlength);
tmpbuf = kmemdup_nul(login->req_buf, payload_length, GFP_KERNEL);
und für die nachfolgenden in iscsi_decode_text_input(), erreicht von iscsi_target_do_login().
login->req_buf ist eine feste Zuordnung von MAX_KEY_VALUE_PAIRS (8192) Bytes, so dass ein Initiator, der mehr deklariert, als er sendet, am Ende des Puffers liest, bevor die Authentifizierung erfolgt und die Länge unter seiner Kontrolle steht:
BUG: KASAN: slab-out-of-bounds in kmemdup_nul+0x43/0x80
Read of size 8193 at addr ffff8881056a8000 by task iscsi_np/167
__asan_memcpy+0x23/0x60
kmemdup_nul+0x43/0x80
iscsi_target_locate_portal+0x48d/0x1180
iscsi_target_login_thread+0x19a9/0x3350
Allocated by task 167:
__kmalloc_cache_noprof+0x158/0x370
iscsi_target_login_thread+0x971/0x3350
which belongs to the cache kmalloc-8k of size 8192
allocated 8192-byte region
Fälschung des zweiten Login-PDUs erreicht den anderen Leser, auf demselben Puffer:
BUG: KASAN: slab-out-of-bounds in kmemdup_nul+0x43/0x80
Read of size 8193 at addr ffff888104d10000 by task kworker/1:1/50
Workqueue: isert_login_wq iscsi_target_do_login_rx
__asan_memcpy+0x23/0x60
kmemdup_nul+0x43/0x80
iscsi_decode_text_input+0xc6/0x11c0
iscsi_target_do_login+0x261/0x1470
iscsi_target_do_login_rx+0x51d/0x7d0
iscsit über TCP ist nicht ausgesetzt: iscsit_get_login_rx() validiert die deklarierte Länge mit iscsi_target_check_login_request() und liest dann genau diese Anzahl von Bytes vom Socket, so dass die deklarierte Länge steuert, wie viel ankommt, anstatt wie viel aus einem bereits gefüllten Puffer kopiert wird. isert ruft iscsi_target_check_login_request() überhaupt nicht auf.
Lehne einen Login-PDU ab, dessen deklarierte DataSegmentLength das Empfangene übersteigt, auf beiden Wegen, die isert_rx_login_req() erreichen: isert_get_login_rx() für den ersten Login-PDU und isert_login_recv_done() für die nachfolgenden. dlength <= login_req_len ist erlaubt, weil die empfangene Anzahl bis zu drei Bytes iSCSI-Padding enthalten kann.
Sobald die Überprüfung vorhanden ist, kann der Auskopierprozess nicht mehr die Eingabe überschreiten: der gepostete Login SGE ist ISER_RX_PAYLOAD_SIZE, so dass login_req_len nicht MAX_KEY_VALUE_PAIRS überschreiten kann und die min() in isert_rx_login_req() login_req_len ist.
Wie die bestehende Überprüfung für kurze PDUs, die durch 29e7b925ae6d hinzugefügt wurde, lehnt die Ablehnung in isert_login_recv_done() ohne Abschluss von login_req_comp zurück, so dass ein fehlerhafter nachfolgender PDU den Login durch den Login-Timer abbrechen lässt, anstatt sofort zu scheitern. Der erste-PDU-Weg gibt einen Fehler zurück und scheitert sofort.
Reproduziert auf 7.2.0-rc4 mit soft-RoCE (rdma_rxe) unter KASAN, mit einem Initiator, der das tatsächliche Schlüssel=Wert-Payload sendet, während er 8193 in der BHS deklariert, auf dem ersten Login-PDU und auf dem zweiten in separaten Durchläufen. Die gemeldete Lesegröße entspricht der deklarierten genau; 16384 und 61440 verhalten sich gleich. Ungepatchte 3 von 3 Durchläufen melden auf beiden Wegen, gepatcht 0 von 3 auf beiden, abwechselnd in einer einzigen Sitzung, und ein normaler Login wird auf dem gepatchten Build abgeschlossen.
Quelle: suse_csaf, Debian LTS Advisories, NVD (NIST), Debian Security Advisories, Microsoft Security Update Guide, cvelistv5, BSI WID Portal, BSI CSAF
Betroffene Produkte
Betroffen sind die folgenden Versionen. Ältere Stände derselben Reihe sind ebenfalls verwundbar, sofern nicht anders angegeben.
| Betroffene Versionen | Behoben in | ||
|---|---|---|---|
| Linux | Linux |
|
|
Hersteller und Produkte
Betroffene Betriebssysteme
| Linux | debian | linux | bookworm |
| Linux | debian | linux | trixie |
| Linux | debian | linux-6.12 | bookworm |
Quellen & Referenzen
- git.kernel.orgstable/c/b1f3313e7b3e396e4985fea5c709477387e0a065
- git.kernel.orgstable/c/228aaa620fe6a7bc8b5b21dd348b4836b1760c61
- git.kernel.orgstable/c/0d9c0586af703890afe1bd0cfe641e3a3af1c32d
- git.kernel.orgstable/c/44fe800ec13386c88bd5b32bcd1deaa1e17535d5
- git.kernel.orgstable/c/71ec8bbfa4a183f1e623662f9cfbcd702e433bdb
- git.kernel.orgstable/c/c345d9d0b3eefc990bb90cf565325785aab06aab
- git.kernel.orgstable/c/48812c8103071d550d9ab4a3431be5bdc52255bc
- git.kernel.orgstable/c/2488b5b4827e5415768afc8daf097e8eb83c98df
Änderungen an der CVE
Wer diese CVE wann geändert hat: die NVD (Analyse, betroffene Produkte, CVSS), der Herausgeber der CVE (CNA) und ergänzende Stellen wie CISA (ADP).
Eintrag geändertLinux
1 Einzeländerung: Betroffene Versionen (Herausgeber)
Einzeländerung im Original anzeigen
Einzeländerungen dieses Ereignisses im Original der NVD Art Aktion Vorher Nachher Betroffene Versionen (Herausgeber) ergänzt —Affected value modified. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/90xxx/CVE-2026-90413.json">CVE-2026-90413</a>Kennung der Quelle: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Eintrag geändertLinux
CVSS V3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Einzeländerung im Original anzeigen
Einzeländerungen dieses Ereignisses im Original der NVD Art Aktion Vorher Nachher CVSS ergänzt —AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HKennung der Quelle: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Neu erfasstLinux
Beschreibung erfasst oder geändert
Neue Referenzen:- https://git.kernel.org/stable/c/0d9c0586af703890afe1bd0cfe641e3a3af1c32d
- https://git.kernel.org/stable/c/228aaa620fe6a7bc8b5b21dd348b4836b1760c61
- https://git.kernel.org/stable/c/2488b5b4827e5415768afc8daf097e8eb83c98df
- https://git.kernel.org/stable/c/44fe800ec13386c88bd5b32bcd1deaa1e17535d5
und 4 weitere Referenzen
10 Einzeländerungen im Original anzeigen
Einzeländerungen dieses Ereignisses im Original der NVD Art Aktion Vorher Nachher Beschreibung ergänzt —In the Linux kernel, the following vulnerability has been resolved: IB/isert: reject login PDUs declaring more data than was received isert_login_recv_done() records how many bytes the HCA actually placed in the login buffer, but nothing compares that against the length the login PDU's BHS declares. isert_rx_login_req() copies min(login_req_len, MAX_KEY_VALUE_PAIRS) bytes into login->req_buf, and the login code then reads the declared length back out of that buffer - for the first PDU in iscsi_target_locate_portal(), payload_length = ntoh24(login_req->dlength); tmpbuf = kmemdup_nul(login->req_buf, payload_length, GFP_KERNEL); and for the ones after it in iscsi_decode_text_input(), reached from iscsi_target_do_login(). login->req_buf is a fixed MAX_KEY_VALUE_PAIRS (8192) byte allocation, so an initiator that declares more than it sends reads off the end of it, before authentication and with the length under its control: BUG: KASAN: slab-out-of-bounds in kmemdup_nul+0x43/0x80 Read of size 8193 at addr ffff8881056a8000 by task iscsi_np/167 __asan_memcpy+0x23/0x60 kmemdup_nul+0x43/0x80 iscsi_target_locate_portal+0x48d/0x1180 iscsi_target_login_thread+0x19a9/0x3350 Allocated by task 167: __kmalloc_cache_noprof+0x158/0x370 iscsi_target_login_thread+0x971/0x3350 which belongs to the cache kmalloc-8k of size 8192 allocated 8192-byte region Falsifying the second login PDU instead reaches the other reader, on the same buffer: BUG: KASAN: slab-out-of-bounds in kmemdup_nul+0x43/0x80 Read of size 8193 at addr ffff888104d10000 by task kworker/1:1/50 Workqueue: isert_login_wq iscsi_target_do_login_rx __asan_memcpy+0x23/0x60 kmemdup_nul+0x43/0x80 iscsi_decode_text_input+0xc6/0x11c0 iscsi_target_do_login+0x261/0x1470 iscsi_target_do_login_rx+0x51d/0x7d0 iscsit over TCP is not exposed: iscsit_get_login_rx() validates the declared length with iscsi_target_check_login_request() and then reads exactly that many bytes off the socket, so the declared length governs how much arrives rather than how much is copied out of an already-filled buffer. isert does not call iscsi_target_check_login_request() at all. Reject a login PDU whose declared DataSegmentLength exceeds what was received, in both paths that reach isert_rx_login_req(): isert_get_login_rx() for the first login PDU and isert_login_recv_done() for the ones after it. dlength <= login_req_len is allowed because the received count can include up to three bytes of iSCSI padding. Once the check is in place the copy out can no longer exceed the copy in: the posted login SGE is ISER_RX_PAYLOAD_SIZE, so login_req_len cannot exceed MAX_KEY_VALUE_PAIRS and the min() in isert_rx_login_req() is login_req_len. Like the existing short-PDU check added by 29e7b925ae6d, the reject in isert_login_recv_done() returns without completing login_req_comp, so a malformed subsequent PDU leaves the login to be torn down by the login timer rather than failing immediately. The first-PDU path returns an error and fails straight away. Reproduced on 7.2.0-rc4 with soft-RoCE (rdma_rxe) under KASAN, using an initiator that sends the real key=value payload while declaring 8193 in the BHS, on the first login PDU and on the second in separate runs. The reported read size tracks the declared value exactly; 16384 and 61440 behave the same. Unpatched 3 of 3 runs report on each of the two paths, patched 0 of 3 on both, run alternately in a single session, and a normal login still completes on the patched build.Betroffene Versionen (Herausgeber) ergänzt —New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/90xxx/CVE-2026-90413.json">CVE-2026-90413</a>Referenz ergänzt —https://git.kernel.org/stable/c/0d9c0586af703890afe1bd0cfe641e3a3af1c32dReferenz ergänzt —https://git.kernel.org/stable/c/228aaa620fe6a7bc8b5b21dd348b4836b1760c61Referenz ergänzt —https://git.kernel.org/stable/c/2488b5b4827e5415768afc8daf097e8eb83c98dfReferenz ergänzt —https://git.kernel.org/stable/c/44fe800ec13386c88bd5b32bcd1deaa1e17535d5Referenz ergänzt —https://git.kernel.org/stable/c/48812c8103071d550d9ab4a3431be5bdc52255bcReferenz ergänzt —https://git.kernel.org/stable/c/71ec8bbfa4a183f1e623662f9cfbcd702e433bdbReferenz ergänzt —https://git.kernel.org/stable/c/b1f3313e7b3e396e4985fea5c709477387e0a065Referenz ergänzt —https://git.kernel.org/stable/c/c345d9d0b3eefc990bb90cf565325785aab06aabKennung der Quelle: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Badge einbetten
Zeigen Sie Schweregrad und KEV-Status dieser Schwachstelle auf Ihrer Seite – mit Link hierher. Das Bild wird stündlich aktualisiert.
<a href="https://intel.neosec.eu/cve/CVE-2026-90413"><img src="https://intel.neosec.eu/badge/cve/CVE-2026-90413.svg" alt="CVE-2026-90413 – NEOSEC Intel" height="20"></a>