Ohne BewertungCVE-2026-98432

    Sicherheitsluecke -- CVE-2026-98432

    Veröffentlicht Zuletzt geändert Quellen: Debian, BSI, CVE.org

    Was ist betroffen, was ist zu tun

    Im Linux-Kernel wurde die folgende Schwachstelle behoben: ipv4: Freigabe von inet_opt und ireq_opt nach einem RCU-Grace-Period tcp_v4_syn_recv_sock() überträgt die Eigentümerschaft von ireq->ireq_opt auf das Kindersocket (newinet->inet_opt) ohne es zu kopieren. Ein anderer Prozessor kann gleichzeitig eine erneut gesendete SYN für dieselbe Anfrage-Socket verarbeiten und eine SYNACK von tcp_check_req() senden. tcp_v4_send_synack() und inet_csk_route_req() lesen ireq->ireq_opt unter rcu_read_lock() nur, und ip_build_and_send_pkt() und ip_options_build() lesen dann opt->optlen zweimal.

    Die vorliegenden Quellen nennen keine Fix-Version. Prüfen Sie die Herstellerhinweise in den Referenzen unten.

    Metriken

    —

    Priorität

    Für diese Schwachstelle liegt kein Wert vor.

    —

    CVSS v3

    Für diese Schwachstelle liegt kein Wert vor.

    —

    EPSS-Score

    Für diese Schwachstelle liegt kein Wert vor.

    Alle Metriken anzeigen
    Schweregrad
    Ohne Bewertung
    Priority-Score

    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
    30.00
    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
    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

    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
    Behandeln Sie die Schwachstelle im regulären Schwachstellenmanagement nach Art. 21 Abs. 2 lit. e NIS2.
    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 die folgende Schwachstelle behoben: ipv4: Freigabe von inet_opt und ireq_opt nach einem RCU-Grace-Period tcp_v4_syn_recv_sock() überträgt die Eigentümerschaft von ireq->ireq_opt auf das Kindersocket (newinet->inet_opt) ohne es zu kopieren. Ein anderer Prozessor kann gleichzeitig eine erneut gesendete SYN für dieselbe Anfrage-Socket verarbeiten und eine SYNACK von tcp_check_req() senden. tcp_v4_send_synack() und inet_csk_route_req() lesen ireq->ireq_opt unter rcu_read_lock() nur, und ip_build_and_send_pkt() und ip_options_build() lesen dann opt->optlen zweimal. Es ist zu beachten, dass der SYNACK-Timer selbst kein Problem darstellt: Er hält einen Verweis auf seine Anfrage-Socket, und inet_csk_reqsk_queue_drop() ruft timer_delete_sync() auf, bevor das Kind freigegeben werden kann. Seit dem Commit 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") werden Anfrage-Sockets ohne das Halten des Listener-Locks verarbeitet, so dass nichts verhindert, dass das Kindersocket freigegeben wird, während die SYNACK noch erstellt wird. TCP-Kindersockets haben kein SOCK_RCU_FREE, und inet_sock_destruct() gibt inet_opt mit einem einfachen kfree() frei, was zu einer Use-After-Free in ip_options_build() führt. Ein ähnliches Problem besteht bei der Migration von Anfrage-Sockets (net.ipv4.tcp_migrate_req=1, oder ein BPF_SK_REUSEPORT_SELECT_OR_MIGRATE-Programm). reqsk_timer_handler() kloniert die Anfrage-Socket mit inet_reqsk_clone(), so dass die alte Anfrage-Socket und ihr Klon denselben ireq_opt teilen, dann setzt reqsk_migrate_reset() den Zeiger in der alten auf NULL. Ein anderer Prozessor, der einen Verweis auf die alte Anfrage-Socket hält, kann diese Optionen noch verwenden (eine SYNACK senden oder ein Kind in tcp_v4_syn_recv_sock() erstellen), wenn der Klon freigegeben wird, und tcp_v4_reqsk_destructor() verwendet ebenfalls ein einfaches kfree(). Leser verwenden bereits RCU, und andere Pfade, die inet_opt ersetzen (do_ip_setsockopt(), cipso_v4_sock_setattr()...), verwenden bereits kfree_rcu(). Verwenden Sie kfree_rcu() auch in inet_sock_destruct() und tcp_v4_reqsk_destructor(). IPv6 ist von dem ersten Problem nicht betroffen, weil tcp_v6_syn_recv_sock() die Optionen dupliziert. tcp_v6_reqsk_destructor() hat das gleiche Migrationsproblem mit ipv6_opt, das nur von CALIPSO gesetzt wird. Dies wird in einem separaten Patch behoben.

    Quelle: Debian Security Advisories, BSI CSAF, BSI WID Portal, NVD (NIST)

    Betroffene Betriebssysteme

    Betroffene Betriebssysteme
    FamilieHerstellerProduktVersion
    Linuxdebianlinuxtrixie

    Re-Analyse & Statuswechsel

    Chronologie der NVD-Audit-Events für diese CVE — Reanalyses, CVSS-Updates, CPE-Diffs.

    1. New CVE Received416baaa9-dc9f-4396-8d5f-8c081fb06d67

      • Description: nachher In the Linux kernel, the following vulnerability has been resolved: ipv4: free inet_opt and ireq_opt after an RCU grace period tcp_v4_syn_recv_sock() transfers ownership of ireq->ireq_opt to the child socket (newinet->inet_opt) without copying it. Another cpu can concurrently process a retransmitted SYN for the same request socket, and send a SYNACK from tcp_check_req(). tcp_v4_send_synack() and inet_csk_route_req() read ireq->ireq_opt under rcu_read_lock() only, and ip_build_and_send_pkt() and ip_options_build() then read opt->optlen twice. Note that the SYNACK timer itself is not an issue: it holds a reference on its request socket, and inet_csk_reqsk_queue_drop() calls timer_delete_sync() before the child can be freed. Since commit 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table"), request sockets are processed without holding the listener lock, so nothing prevents the child socket from being freed while the SYNACK is still being built. TCP child sockets do not have SOCK_RCU_FREE, and inet_sock_destruct() frees inet_opt with a plain kfree(), leading to a use-after-free in ip_options_build(). A similar issue exists with request socket migration (net.ipv4.tcp_migrate_req=1, or a BPF_SK_REUSEPORT_SELECT_OR_MIGRATE program). reqsk_timer_handler() clones the request socket with inet_reqsk_clone(), so that the old request socket and its clone share the same ireq_opt, then reqsk_migrate_reset() clears the pointer in the old one. Another cpu holding a reference on the old request socket can still be using these options (sending a SYNACK, or creating a child in tcp_v4_syn_recv_sock()) when the clone is freed, and tcp_v4_reqsk_destructor() also uses a plain kfree(). Readers already use RCU, and other paths replacing inet_opt (do_ip_setsockopt(), cipso_v4_sock_setattr()...) already use kfree_rcu(). Use kfree_rcu() in inet_sock_destruct() and tcp_v4_reqsk_destructor() as well. IPv6 is not affected by the first issue, because tcp_v6_syn_recv_sock() duplicates the options. tcp_v6_reqsk_destructor() has the same migration issue with ipv6_opt, which is only set by CALIPSO. This will be addressed in a separate patch.
      • Affected: nachher New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/98xxx/CVE-2026-98432.json">CVE-2026-98432</a>
      • Reference: nachher https://git.kernel.org/stable/c/11a03ce3c4a62d84c10ccdfe47f8075006498568
      • Reference: nachher https://git.kernel.org/stable/c/26d4c36d318cffbbd160884a0e4cec0da4da4936