Search

Find a vulnerability

Search criteria

    467 vulnerabilities

    CVE-2026-99288 (GCVE-0-2026-99288)

    Vulnerability from cvelistv5 – Published: 2026-11-10 18:19 – Updated: 2026-11-10 18:19
    VLAI
    Title
    inet: reject unhashed sockets during established lookups
    Summary
    In the Linux kernel, the following vulnerability has been resolved: inet: reject unhashed sockets during established lookups TCP established ehash lookups are lockless. The socket caches involved use SLAB_TYPESAFE_BY_RCU, so memory can be reused before an RCU reader that retained its old address has finished. After a tuple match, __inet_lookup_established() and __inet6_lookup_established() acquire a reference and repeat the tuple check. They do not check whether the new object is hashed. If the address is reused for a socket with the same tuple, the lookup can acquire a reference to the new object and return it while its nulls node is unhashed. A PoC that drives reuse with a SYN cookie request socket reproduced the crash. The new request socket is unhashed and has a NULL rsk_listener. A lookup that had loaded the address of the old request socket acquired the reference published by tcp_get_cookie_sock() and returned the new object. tcp_v4_rcv() then read sk_state through the NULL listener. The resulting crash was: BUG: kernel NULL pointer dereference, address: 0000000000000012 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page ... Oops: Oops: 0000 [#1] SMP NOPTI CPU: 4 UID: 0 PID: 0 Comm: swapper/4 Not tainted 7.3.0-00591-g0e135910deec #1 PREEMPT(lazy) ... RIP: 0010:tcp_v4_rcv+0x44e/0x1280 ... R10: 0000000000000001 R11: 00000000024ca8c0 R12: 0000000000000000 ... CR2: 0000000000000012 CR3: 0000000103d50004 CR4: 0000000000770ef0 ... Call Trace: <IRQ> ? raw_local_deliver+0xae/0x240 ip_protocol_deliver_rcu+0x2d/0x180 ip_local_deliver_finish+0x84/0x100 ip_sublist_rcv_finish+0x5f/0x70 ip_sublist_rcv+0x12a/0x1d0 ip_list_rcv+0xfd/0x130 __netif_receive_skb_list_core+0x223/0x250 netif_receive_skb_list_internal+0x1d2/0x2c0 ? try_fill_recv+0x39/0x7b0 napi_complete_done+0x74/0x170 virtnet_poll+0x445/0x600 __napi_poll+0x27/0x1e0 net_rx_action+0x2fe/0x3b0 handle_softirqs+0xc2/0x2c0 __irq_exit_rcu+0x74/0xd0 common_interrupt+0x7f/0x90 </IRQ> ... Kernel panic - not syncing: Fatal exception in interrupt After taking a reference, check whether the nulls node is unhashed in both IPv4 and IPv6 established lookups. If it is unhashed or the tuple no longer matches, drop the reference and restart the lookup. Lookups racing with the TIME_WAIT hashdance, or with a request being replaced by its child, now restart and find the new socket instead of returning the old one. Request sockets that were never inserted into ehash can have a nonzero refcount, and a stale lookup can hold a transient reference. Therefore, when SYN cookie, Fast Open, and request migration paths fail after setting a nonzero refcount, release the references held by those paths with reqsk_put() instead of freeing the request directly.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 079096f103faca2dd87342cca6f23d4b34da8871 , < d69100340b4cae08d40f898f1b601032403f6be6 (git)
    Affected: 079096f103faca2dd87342cca6f23d4b34da8871 , < 8e5172cbd227fae32f3313cba1f3e1b9edb5c4fd (git)
    Affected: 079096f103faca2dd87342cca6f23d4b34da8871 , < eb8a2d156f2c1d862fffdfd1b3432bfbcd939879 (git)
    Create a notification for this product.
    Linux Linux Affected: 4.4
    Unaffected: 0 , < 4.4 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.63 , ≤ 6.18.* (semver)
    Unaffected: 7.3.4 , ≤ 7.3.* (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "net/ipv4/inet_connection_sock.c",
                "net/ipv4/inet_hashtables.c",
                "net/ipv4/syncookies.c",
                "net/ipv4/tcp_input.c",
                "net/ipv6/inet6_hashtables.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "d69100340b4cae08d40f898f1b601032403f6be6",
                  "status": "affected",
                  "version": "079096f103faca2dd87342cca6f23d4b34da8871",
                  "versionType": "git"
                },
                {
                  "lessThan": "8e5172cbd227fae32f3313cba1f3e1b9edb5c4fd",
                  "status": "affected",
                  "version": "079096f103faca2dd87342cca6f23d4b34da8871",
                  "versionType": "git"
                },
                {
                  "lessThan": "eb8a2d156f2c1d862fffdfd1b3432bfbcd939879",
                  "status": "affected",
                  "version": "079096f103faca2dd87342cca6f23d4b34da8871",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "net/ipv4/inet_connection_sock.c",
                "net/ipv4/inet_hashtables.c",
                "net/ipv4/syncookies.c",
                "net/ipv4/tcp_input.c",
                "net/ipv6/inet6_hashtables.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "4.4"
                },
                {
                  "lessThan": "4.4",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.63",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.4",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "4.4",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.63",
                      "versionStartIncluding": "4.4",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.4",
                      "versionStartIncluding": "4.4",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ninet: reject unhashed sockets during established lookups\n\nTCP established ehash lookups are lockless. The socket caches involved\nuse SLAB_TYPESAFE_BY_RCU, so memory can be reused before an RCU reader\nthat retained its old address has finished.\n\nAfter a tuple match, __inet_lookup_established() and\n__inet6_lookup_established() acquire a reference and repeat the tuple\ncheck. They do not check whether the new object is hashed. If the\naddress is reused for a socket with the same tuple, the lookup can\nacquire a reference to the new object and return it while its nulls node\nis unhashed.\n\nA PoC that drives reuse with a SYN cookie request socket reproduced the\ncrash. The new request socket is unhashed and has a NULL rsk_listener.\nA lookup that had loaded the address of the old request socket acquired\nthe reference published by tcp_get_cookie_sock() and returned the new\nobject. tcp_v4_rcv() then read sk_state through the NULL listener.\n\nThe resulting crash was:\n\n  BUG: kernel NULL pointer dereference, address: 0000000000000012\n  #PF: supervisor read access in kernel mode\n  #PF: error_code(0x0000) - not-present page\n  ...\n  Oops: Oops: 0000 [#1] SMP NOPTI\n  CPU: 4 UID: 0 PID: 0 Comm: swapper/4 Not tainted 7.3.0-00591-g0e135910deec #1 PREEMPT(lazy)\n  ...\n  RIP: 0010:tcp_v4_rcv+0x44e/0x1280\n  ...\n  R10: 0000000000000001 R11: 00000000024ca8c0 R12: 0000000000000000\n  ...\n  CR2: 0000000000000012 CR3: 0000000103d50004 CR4: 0000000000770ef0\n  ...\n  Call Trace:\n   \u003cIRQ\u003e\n   ? raw_local_deliver+0xae/0x240\n   ip_protocol_deliver_rcu+0x2d/0x180\n   ip_local_deliver_finish+0x84/0x100\n   ip_sublist_rcv_finish+0x5f/0x70\n   ip_sublist_rcv+0x12a/0x1d0\n   ip_list_rcv+0xfd/0x130\n   __netif_receive_skb_list_core+0x223/0x250\n   netif_receive_skb_list_internal+0x1d2/0x2c0\n   ? try_fill_recv+0x39/0x7b0\n   napi_complete_done+0x74/0x170\n   virtnet_poll+0x445/0x600\n   __napi_poll+0x27/0x1e0\n   net_rx_action+0x2fe/0x3b0\n   handle_softirqs+0xc2/0x2c0\n   __irq_exit_rcu+0x74/0xd0\n   common_interrupt+0x7f/0x90\n   \u003c/IRQ\u003e\n  ...\n  Kernel panic - not syncing: Fatal exception in interrupt\n\nAfter taking a reference, check whether the nulls node is unhashed in\nboth IPv4 and IPv6 established lookups. If it is unhashed or the tuple\nno longer matches, drop the reference and restart the lookup.\n\nLookups racing with the TIME_WAIT hashdance, or with a request being\nreplaced by its child, now restart and find the new socket instead of\nreturning the old one.\n\nRequest sockets that were never inserted into ehash can have a nonzero\nrefcount, and a stale lookup can hold a transient reference. Therefore,\nwhen SYN cookie, Fast Open, and request migration paths fail after\nsetting a nonzero refcount, release the references held by those paths\nwith reqsk_put() instead of freeing the request directly."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:19:08.557Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/d69100340b4cae08d40f898f1b601032403f6be6"
            },
            {
              "url": "https://git.kernel.org/stable/c/8e5172cbd227fae32f3313cba1f3e1b9edb5c4fd"
            },
            {
              "url": "https://git.kernel.org/stable/c/eb8a2d156f2c1d862fffdfd1b3432bfbcd939879"
            }
          ],
          "title": "inet: reject unhashed sockets during established lookups",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99288",
        "datePublished": "2026-11-10T18:19:08.557Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T18:19:08.557Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99287 (GCVE-0-2026-99287)

    Vulnerability from cvelistv5 – Published: 2026-11-10 18:16 – Updated: 2026-11-10 21:05
    VLAI
    Title
    xen-netback: Zero out sring pointers on unmap
    Summary
    In the Linux kernel, the following vulnerability has been resolved: xen-netback: Zero out sring pointers on unmap If xenvif_map_frontend_data_rings() fails when a ring is already mapped, it unmaps them via xenvif_unmap_frontend_data_rings() which keeps the ring pointers unchanged. xenvif_connect_data()'s cleanup path calls xenvif_disconnect_queue() which in turn calls xenvif_unmap_frontend_data_rings() again, which will attempt to unmap the pointers a second time. Zero out the ring pointers after they are unmapped to avoid this issue. This is XSA-532
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 2ac061ce97f413bfbbdd768f7d2e0fda2e8170df , < 87fd475dc4e354088f6534285388e7b061f54b35 (git)
    Affected: 2ac061ce97f413bfbbdd768f7d2e0fda2e8170df , < c5f54af611ff6fe1d53fa05d8e87b469dc56122b (git)
    Affected: 2ac061ce97f413bfbbdd768f7d2e0fda2e8170df , < e7ba61734d6ad6adfd5bf617052e590743211669 (git)
    Create a notification for this product.
    Linux Linux Affected: 5.5
    Unaffected: 0 , < 5.5 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.63 , ≤ 6.18.* (semver)
    Unaffected: 7.3.4 , ≤ 7.3.* (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2026-11-10T21:05:27.340Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "url": "http://www.openwall.com/lists/oss-security/2026/11/10/26"
              },
              {
                "url": "http://xenbits.xen.org/xsa/advisory-532.html"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/xen-netback/netback.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "87fd475dc4e354088f6534285388e7b061f54b35",
                  "status": "affected",
                  "version": "2ac061ce97f413bfbbdd768f7d2e0fda2e8170df",
                  "versionType": "git"
                },
                {
                  "lessThan": "c5f54af611ff6fe1d53fa05d8e87b469dc56122b",
                  "status": "affected",
                  "version": "2ac061ce97f413bfbbdd768f7d2e0fda2e8170df",
                  "versionType": "git"
                },
                {
                  "lessThan": "e7ba61734d6ad6adfd5bf617052e590743211669",
                  "status": "affected",
                  "version": "2ac061ce97f413bfbbdd768f7d2e0fda2e8170df",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/xen-netback/netback.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.5"
                },
                {
                  "lessThan": "5.5",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.63",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.4",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "5.5",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.63",
                      "versionStartIncluding": "5.5",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.4",
                      "versionStartIncluding": "5.5",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxen-netback: Zero out sring pointers on unmap\n\nIf xenvif_map_frontend_data_rings() fails when a ring is already mapped,\nit unmaps them via xenvif_unmap_frontend_data_rings() which keeps the\nring pointers unchanged. xenvif_connect_data()\u0027s cleanup path calls\nxenvif_disconnect_queue() which in turn calls\nxenvif_unmap_frontend_data_rings() again, which will attempt to unmap the\npointers a second time.\n\nZero out the ring pointers after they are unmapped to avoid this issue.\n\nThis is XSA-532"
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:16:54.253Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/87fd475dc4e354088f6534285388e7b061f54b35"
            },
            {
              "url": "https://git.kernel.org/stable/c/c5f54af611ff6fe1d53fa05d8e87b469dc56122b"
            },
            {
              "url": "https://git.kernel.org/stable/c/e7ba61734d6ad6adfd5bf617052e590743211669"
            }
          ],
          "title": "xen-netback: Zero out sring pointers on unmap",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99287",
        "datePublished": "2026-11-10T18:16:54.253Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T21:05:27.340Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99286 (GCVE-0-2026-99286)

    Vulnerability from cvelistv5 – Published: 2026-11-10 18:16 – Updated: 2026-11-10 21:05
    VLAI
    Title
    xen-netback: Fix XenBus connection failure cleanup
    Summary
    In the Linux kernel, the following vulnerability has been resolved: xen-netback: Fix XenBus connection failure cleanup xenvif_get_stats and xenvif_get_ethtool_stats capture vif->num_queues under rcu_read_lock. We need to unpublish vif->num_queues before synchronize_net to ensure that readers that come afterwards will not read a non-zero vif->num_queues and attempt to access invalid queues. This is the same cleanup algorithm as used in backend_disconnect and added in commit b17075d5c198 ("xen-netback: fix race condition on XenBus disconnect"). This is XSA-531
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < ade3082dcdee17c5767069883936d64ff83f6c9f (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < a97aa838903d15f865d80809f5198ff459c6634a (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 07aca7d25ce8578fedde49855983a01c537a782b (git)
    Affected: 0 , < 6.12.117 (semver)
    Affected: 0 , < 6.18.63 (semver)
    Affected: 0 , < 7.3.4 (semver)
    Create a notification for this product.
    Linux Linux Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.63 , ≤ 6.18.* (semver)
    Unaffected: 7.3.4 , ≤ 7.3.* (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2026-11-10T21:05:24.916Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "url": "http://www.openwall.com/lists/oss-security/2026/11/10/25"
              },
              {
                "url": "http://xenbits.xen.org/xsa/advisory-531.html"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/xen-netback/xenbus.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "ade3082dcdee17c5767069883936d64ff83f6c9f",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "a97aa838903d15f865d80809f5198ff459c6634a",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "07aca7d25ce8578fedde49855983a01c537a782b",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "6.12.117",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.18.63",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThan": "7.3.4",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/xen-netback/xenbus.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.63",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.4",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.63",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.4",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxen-netback: Fix XenBus connection failure cleanup\n\nxenvif_get_stats and xenvif_get_ethtool_stats capture vif-\u003enum_queues\nunder rcu_read_lock. We need to unpublish vif-\u003enum_queues before\nsynchronize_net to ensure that readers that come afterwards will not\nread a non-zero vif-\u003enum_queues and attempt to access invalid queues.\n\nThis is the same cleanup algorithm as used in backend_disconnect and\nadded in commit b17075d5c198 (\"xen-netback: fix race condition on XenBus\ndisconnect\").\n\nThis is XSA-531"
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:16:53.997Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/ade3082dcdee17c5767069883936d64ff83f6c9f"
            },
            {
              "url": "https://git.kernel.org/stable/c/a97aa838903d15f865d80809f5198ff459c6634a"
            },
            {
              "url": "https://git.kernel.org/stable/c/07aca7d25ce8578fedde49855983a01c537a782b"
            }
          ],
          "title": "xen-netback: Fix XenBus connection failure cleanup",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99286",
        "datePublished": "2026-11-10T18:16:53.997Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T21:05:24.916Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99285 (GCVE-0-2026-99285)

    Vulnerability from cvelistv5 – Published: 2026-11-10 17:37 – Updated: 2026-11-10 17:37
    VLAI
    Title
    netfilter: nft_byteorder: remove multi-register support
    Summary
    In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_byteorder: remove multi-register support 64bit byteorder conversion is broken when several registers need to be converted because the source register array advances in steps for 4 bytes instead of 8: for (i = ... src64 = nft_reg_load64(&src[i]); ~~~~~ u32 *src nft_reg_store64(&dst64[i], Remove the multi-register support, it has other issues as well: Pablo points out that commit caf3ef7468f7 ("netfilter: nf_tables: prevent OOB access in nft_byteorder_eval") alters semantics: before the loop operated on registers, i.e. for ( ... ) dst32[i] = htons((u16)src32[i]) .. but after the patch it will operate on bytes, which makes this useless to convert e.g. concatenations, which store each compound in its own register. Multi-convert of u32 has one theoretical application: ct mark . meta mark . tcp dport @intervalset Because ct mark and meta mark are host byte order, use with intervals has to convert the byteorder for ct/meta mark value to network byte order (bigendian). nftables emits this: [ meta load mark => reg 1 ] [ byteorder reg 1 = hton(reg 1, 4, 4) ] [ ct load mark => reg 9 ] [ byteorder reg 9 = hton(reg 9, 4, 4) ] ... I.e. two separate calls. Theoretically it could be changed to do: [ meta load mark => reg 1 ] [ ct load mark => reg 9 ] [ byteorder reg 1 = htonl(reg 1, 4, 8) ] ... But then all it would take to change the set to meta mark . tcp dport . ct mark ... and we'd be back to two "byteorder" calls. IOW, support to convert a range of registers is both dysfunctional and dubious. Simplify this: remove the feature. Pablo Neira Ayuso points out that nftables before 1.1.0 can generate incorrect byteorder conversions, see 9fe58952c45a, "evaluate: skip byteorder conversion for selector smaller than 2 bytes" in nftables.git). Affected rulesets fail to load with this change and old userspace due to 'len != size' check.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63 , < 3c5fb3a6c8118d15e60295e76fb5b879021eef43 (git)
    Affected: c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63 , < dc29c0478b8564feb9371e715b5a0016eb8903fd (git)
    Affected: c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63 , < bb061d3de41707415269be75ebf700efb03ec212 (git)
    Affected: fca41e5b687e029f69e3a35a2fa31e2560e538dc (git)
    Affected: 25b42be4e067e107a2559266b54bf07fa5b094fb (git)
    Affected: 9a865a11d6890d4a789db1eaafebdc8bd092b12c (git)
    Affected: b8b514b2a6cdfac24911e4910461bcb9db15ca8d (git)
    Affected: 18a169810cff769a7a697b35058c756805f589e0 (git)
    Affected: 1a605657adc58b3c8e2c1c66aaa5fecd29072135 (git)
    Affected: 013deed31ab15ef287b0045e4e7bd8f250e75b94 (git)
    Affected: 4.19.307 , < 4.20 (semver)
    Affected: 5.4.269 , < 5.5 (semver)
    Affected: 5.10.210 , < 5.11 (semver)
    Affected: 5.15.140 , < 5.16 (semver)
    Affected: 6.1.64 , < 6.2 (semver)
    Affected: 6.5.13 , < 6.6 (semver)
    Affected: 6.6.3 , < 6.7 (semver)
    Create a notification for this product.
    Linux Linux Affected: 6.7
    Unaffected: 0 , < 6.7 (semver)
    Unaffected: 6.12.115 , ≤ 6.12.* (semver)
    Unaffected: 6.18.59 , ≤ 6.18.* (semver)
    Unaffected: 7.1 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "net/netfilter/nft_byteorder.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "3c5fb3a6c8118d15e60295e76fb5b879021eef43",
                  "status": "affected",
                  "version": "c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63",
                  "versionType": "git"
                },
                {
                  "lessThan": "dc29c0478b8564feb9371e715b5a0016eb8903fd",
                  "status": "affected",
                  "version": "c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63",
                  "versionType": "git"
                },
                {
                  "lessThan": "bb061d3de41707415269be75ebf700efb03ec212",
                  "status": "affected",
                  "version": "c301f0981fdd3fd1ffac6836b423c4d7a8e0eb63",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "fca41e5b687e029f69e3a35a2fa31e2560e538dc",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "25b42be4e067e107a2559266b54bf07fa5b094fb",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "9a865a11d6890d4a789db1eaafebdc8bd092b12c",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "b8b514b2a6cdfac24911e4910461bcb9db15ca8d",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "18a169810cff769a7a697b35058c756805f589e0",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "1a605657adc58b3c8e2c1c66aaa5fecd29072135",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "013deed31ab15ef287b0045e4e7bd8f250e75b94",
                  "versionType": "git"
                },
                {
                  "lessThan": "4.20",
                  "status": "affected",
                  "version": "4.19.307",
                  "versionType": "semver"
                },
                {
                  "lessThan": "5.5",
                  "status": "affected",
                  "version": "5.4.269",
                  "versionType": "semver"
                },
                {
                  "lessThan": "5.11",
                  "status": "affected",
                  "version": "5.10.210",
                  "versionType": "semver"
                },
                {
                  "lessThan": "5.16",
                  "status": "affected",
                  "version": "5.15.140",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.2",
                  "status": "affected",
                  "version": "6.1.64",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.6",
                  "status": "affected",
                  "version": "6.5.13",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.7",
                  "status": "affected",
                  "version": "6.6.3",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "net/netfilter/nft_byteorder.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "6.7"
                },
                {
                  "lessThan": "6.7",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.115",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.59",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.1",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.115",
                      "versionStartIncluding": "6.7",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.59",
                      "versionStartIncluding": "6.7",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.1",
                      "versionStartIncluding": "6.7",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.19.307",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "5.4.269",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "5.10.210",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "5.15.140",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "6.1.64",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "6.5.13",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "6.6.3",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_byteorder: remove multi-register support\n\n64bit byteorder conversion is broken when several registers need to be\nconverted because the source register array advances in steps for 4 bytes\ninstead of 8:\n\n  for (i = ...\n      src64 = nft_reg_load64(\u0026src[i]);\n                             ~~~~~ u32 *src\n      nft_reg_store64(\u0026dst64[i],\n\nRemove the multi-register support, it has other issues as well:\n\nPablo points out that commit\ncaf3ef7468f7 (\"netfilter: nf_tables: prevent OOB access in nft_byteorder_eval\")\nalters semantics: before the loop operated on registers, i.e.\n for ( ... )\n   dst32[i] = htons((u16)src32[i])\n\n .. but after the patch it will operate on bytes, which makes this\n useless to convert e.g. concatenations, which store each compound\n in its own register.\n\nMulti-convert of u32 has one theoretical application:\n\nct mark . meta mark . tcp dport @intervalset\n\nBecause ct mark and meta mark are host byte order, use with\nintervals has to convert the byteorder for ct/meta mark value\nto network byte order (bigendian).\n\nnftables emits this:\n [ meta load mark =\u003e reg 1 ]\n [ byteorder reg 1 = hton(reg 1, 4, 4) ]\n [ ct load mark =\u003e reg 9 ]\n [ byteorder reg 9 = hton(reg 9, 4, 4) ]\n ...\n\nI.e. two separate calls.  Theoretically it could be changed to do:\n [ meta load mark =\u003e reg 1 ]\n [ ct load mark =\u003e reg 9 ]\n [ byteorder reg 1 = htonl(reg 1, 4, 8) ]\n ...\n\nBut then all it would take to change the set to\nmeta mark . tcp dport . ct mark\n\n... and we\u0027d be back to two \"byteorder\" calls. IOW, support to\nconvert a range of registers is both dysfunctional and dubious.\n\nSimplify this: remove the feature.\n\nPablo Neira Ayuso points out that nftables before 1.1.0 can generate\nincorrect byteorder conversions, see 9fe58952c45a,\n\"evaluate: skip byteorder conversion for selector smaller than 2 bytes\"\nin nftables.git).  Affected rulesets fail to load with this change and\nold userspace due to \u0027len != size\u0027 check."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T17:37:13.348Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/3c5fb3a6c8118d15e60295e76fb5b879021eef43"
            },
            {
              "url": "https://git.kernel.org/stable/c/dc29c0478b8564feb9371e715b5a0016eb8903fd"
            },
            {
              "url": "https://git.kernel.org/stable/c/bb061d3de41707415269be75ebf700efb03ec212"
            }
          ],
          "title": "netfilter: nft_byteorder: remove multi-register support",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99285",
        "datePublished": "2026-11-10T17:37:13.348Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T17:37:13.348Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99284 (GCVE-0-2026-99284)

    Vulnerability from cvelistv5 – Published: 2026-11-07 20:40 – Updated: 2026-11-10 18:15
    VLAI
    Title
    net: skbuff: propagate shared-frag marker in skb_zerocopy()
    Summary
    In the Linux kernel, the following vulnerability has been resolved: net: skbuff: propagate shared-frag marker in skb_zerocopy() skb_zerocopy() moves frag descriptors from @from into @to and takes a reference on each frag, but it does not copy skb_shinfo(from)->flags into skb_shinfo(to)->flags. A destination skb holding the same page-cache backed frags as the source therefore reports skb_has_shared_frag() as false. That breaks the invariant relied on by later in-place writers. ESP input checks skb_has_shared_frag() before deciding whether an uncloned nonlinear skb can skip skb_cow_data(); with the marker lost, an skb that skb_zerocopy() built for nfnetlink_queue or for an openvswitch upcall is decrypted in place, letting an unprivileged user write into the page cache of a root-owned read-only file. Propagate SKBFL_SHARED_FRAG when frag descriptors are copied, as done for the other frag-transfer helpers.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: af2806f8f90a150160be898cd85332459c83c5cb , < fe8477e23dd2ee6bce231d65f2586a333b211dc0 (git)
    Affected: af2806f8f90a150160be898cd85332459c83c5cb , < 1c623e3cbf43f12dd4a72712079bfa247a9b8ba3 (git)
    Affected: af2806f8f90a150160be898cd85332459c83c5cb , < d7d6ff98d5d1b400f02211f962ac32cc0020aeab (git)
    Affected: af2806f8f90a150160be898cd85332459c83c5cb , < 1a9c180cd8435917b7516edfb1c9148032c28773 (git)
    Affected: af2806f8f90a150160be898cd85332459c83c5cb , < 79dc34beb1fdb3da79753e51e15c68591a2561fe (git)
    Create a notification for this product.
    Linux Linux Affected: 3.14
    Unaffected: 0 , < 3.14 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.2.15 , ≤ 7.2.* (semver)
    Unaffected: 7.3.2 , ≤ 7.3.* (semver)
    Unaffected: 7.4-rc1 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "net/core/skbuff.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "fe8477e23dd2ee6bce231d65f2586a333b211dc0",
                  "status": "affected",
                  "version": "af2806f8f90a150160be898cd85332459c83c5cb",
                  "versionType": "git"
                },
                {
                  "lessThan": "1c623e3cbf43f12dd4a72712079bfa247a9b8ba3",
                  "status": "affected",
                  "version": "af2806f8f90a150160be898cd85332459c83c5cb",
                  "versionType": "git"
                },
                {
                  "lessThan": "d7d6ff98d5d1b400f02211f962ac32cc0020aeab",
                  "status": "affected",
                  "version": "af2806f8f90a150160be898cd85332459c83c5cb",
                  "versionType": "git"
                },
                {
                  "lessThan": "1a9c180cd8435917b7516edfb1c9148032c28773",
                  "status": "affected",
                  "version": "af2806f8f90a150160be898cd85332459c83c5cb",
                  "versionType": "git"
                },
                {
                  "lessThan": "79dc34beb1fdb3da79753e51e15c68591a2561fe",
                  "status": "affected",
                  "version": "af2806f8f90a150160be898cd85332459c83c5cb",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "net/core/skbuff.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "3.14"
                },
                {
                  "lessThan": "3.14",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.15",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.2",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.4-rc1",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "3.14",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "3.14",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.15",
                      "versionStartIncluding": "3.14",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.2",
                      "versionStartIncluding": "3.14",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.4-rc1",
                      "versionStartIncluding": "3.14",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: skbuff: propagate shared-frag marker in skb_zerocopy()\n\nskb_zerocopy() moves frag descriptors from @from into @to and takes a\nreference on each frag, but it does not copy skb_shinfo(from)-\u003eflags into\nskb_shinfo(to)-\u003eflags.  A destination skb holding the same page-cache\nbacked frags as the source therefore reports skb_has_shared_frag() as\nfalse.\n\nThat breaks the invariant relied on by later in-place writers.  ESP input\nchecks skb_has_shared_frag() before deciding whether an uncloned\nnonlinear skb can skip skb_cow_data(); with the marker lost, an skb that\nskb_zerocopy() built for nfnetlink_queue or for an openvswitch upcall is\ndecrypted in place, letting an unprivileged user write into the page\ncache of a root-owned read-only file.\n\nPropagate SKBFL_SHARED_FRAG when frag descriptors are copied, as done for\nthe other frag-transfer helpers."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:30.724Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/fe8477e23dd2ee6bce231d65f2586a333b211dc0"
            },
            {
              "url": "https://git.kernel.org/stable/c/1c623e3cbf43f12dd4a72712079bfa247a9b8ba3"
            },
            {
              "url": "https://git.kernel.org/stable/c/d7d6ff98d5d1b400f02211f962ac32cc0020aeab"
            },
            {
              "url": "https://git.kernel.org/stable/c/1a9c180cd8435917b7516edfb1c9148032c28773"
            },
            {
              "url": "https://git.kernel.org/stable/c/79dc34beb1fdb3da79753e51e15c68591a2561fe"
            }
          ],
          "title": "net: skbuff: propagate shared-frag marker in skb_zerocopy()",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99284",
        "datePublished": "2026-11-07T20:40:33.661Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T18:15:30.724Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99283 (GCVE-0-2026-99283)

    Vulnerability from cvelistv5 – Published: 2026-11-07 20:14 – Updated: 2026-11-10 18:15
    VLAI
    Title
    netfilter: conntrack: tcp: use UNACK timeout for non-closing RST packets
    Summary
    In the Linux kernel, the following vulnerability has been resolved: netfilter: conntrack: tcp: use UNACK timeout for non-closing RST packets Commit be0502a3f2e9 ("netfilter: conntrack: tcp: only close if RST matches exact sequence") keeps an established conntrack entry in ESTABLISHED when an in-window RST does not match the expected sequence number exactly, so the endpoint can validate the RST with a challenge ACK. The timeout selection nevertheless uses the CLOSE timeout for every RST packet. The bug is that timeout selection is based on the packet type, not on the state transition result: even when RST validation keeps new_state in ESTABLISHED, the timeout is still forced to TCP_CONNTRACK_CLOSE. Linux TCP independently rate limits challenge ACKs per socket. A second non-exact RST can therefore arrive after the first challenge ACK has restored the timeout but before the rate limit expires. The second RST lowers the timeout to 10 seconds again while the endpoint suppresses the second challenge ACK, allowing the conntrack entry to expire while both TCP endpoints remain established. Using the ESTABLISHED timeout for such RSTs would avoid this short expiration window, but it could also retain stale entries for the five-day default because conntrack cannot reliably match the endpoint's exact TCP state. Use the UNACK timeout for RST packets that leave the conntrack entry in TCP_CONNTRACK_ESTABLISHED. Exact-match RSTs and accepted RST packet trains still fall through to timeouts[new_state], which preserves the CLOSE timeout when conntrack accepts the RST as closing the flow. This avoids the aggressive 10-second expiration window for non-exact RSTs while preserving the short timeout for RSTs that conntrack accepts as closing the flow.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 4d39a039d0b7737f8475c2431f18572b3b186a3b (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 0c6d33329960b2d884a399196c8403643d8a9de6 (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < bf80e6802273a900311b44e47c9b1a59c6d2473c (git)
    Affected: 0 , < 6.12.117 (semver)
    Affected: 0 , < 6.18.61 (semver)
    Create a notification for this product.
    Linux Linux Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "net/netfilter/nf_conntrack_proto_tcp.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "4d39a039d0b7737f8475c2431f18572b3b186a3b",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "0c6d33329960b2d884a399196c8403643d8a9de6",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "bf80e6802273a900311b44e47c9b1a59c6d2473c",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "6.12.117",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.18.61",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "net/netfilter/nf_conntrack_proto_tcp.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: conntrack: tcp: use UNACK timeout for non-closing RST packets\n\nCommit be0502a3f2e9 (\"netfilter: conntrack: tcp: only close if RST\nmatches exact sequence\") keeps an established conntrack entry in\nESTABLISHED when an in-window RST does not match the expected sequence\nnumber exactly, so the endpoint can validate the RST with a challenge\nACK.\n\nThe timeout selection nevertheless uses the CLOSE timeout for every RST\npacket.  The bug is that timeout selection is based on the packet type,\nnot on the state transition result: even when RST validation keeps\nnew_state in ESTABLISHED, the timeout is still forced to\nTCP_CONNTRACK_CLOSE.\n\nLinux TCP independently rate limits challenge ACKs per socket.  A second\nnon-exact RST can therefore arrive after the first challenge ACK has\nrestored the timeout but before the rate limit expires.  The second RST\nlowers the timeout to 10 seconds again while the endpoint suppresses the\nsecond challenge ACK, allowing the conntrack entry to expire while both\nTCP endpoints remain established.\n\nUsing the ESTABLISHED timeout for such RSTs would avoid this short\nexpiration window, but it could also retain stale entries for the\nfive-day default because conntrack cannot reliably match the endpoint\u0027s\nexact TCP state.\n\nUse the UNACK timeout for RST packets that leave the conntrack entry in\nTCP_CONNTRACK_ESTABLISHED.  Exact-match RSTs and accepted RST packet\ntrains still fall through to timeouts[new_state], which preserves the\nCLOSE timeout when conntrack accepts the RST as closing the flow.\n\nThis avoids the aggressive 10-second expiration window for non-exact\nRSTs while preserving the short timeout for RSTs that conntrack accepts\nas closing the flow."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:30.084Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/4d39a039d0b7737f8475c2431f18572b3b186a3b"
            },
            {
              "url": "https://git.kernel.org/stable/c/0c6d33329960b2d884a399196c8403643d8a9de6"
            },
            {
              "url": "https://git.kernel.org/stable/c/bf80e6802273a900311b44e47c9b1a59c6d2473c"
            }
          ],
          "title": "netfilter: conntrack: tcp: use UNACK timeout for non-closing RST packets",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99283",
        "datePublished": "2026-11-07T20:14:11.433Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T18:15:30.084Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99282 (GCVE-0-2026-99282)

    Vulnerability from cvelistv5 – Published: 2026-11-07 14:08 – Updated: 2026-11-10 18:15
    VLAI
    Title
    net/sched: sch_teql: fix use-after-free on lower qdisc drop
    Summary
    In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_teql: fix use-after-free on lower qdisc drop The issue: teql_master_xmit() tests the slave's ndo_start_xmit() return value against NETDEV_TX_OK alone. A slave that consumes the skb but returns an error code (rc < NET_XMIT_MASK, e.g. NET_XMIT_DROP) is treated as if the skb were still owned, so the loop restores skb->dev and calls __skb_pull() on it. A VLAN slave returns the result of dev_queue_xmit() from its ndo_start_xmit() (propagated since cbbef5e18307), and when the lower qdisc drops the packet that value is NET_XMIT_DROP after the skb has been freed, giving a use-after-free in teql_master_xmit(). The Fix: test for consumption with dev_xmit_complete(), which accepts NETDEV_TX_OK and every rc < NET_XMIT_MASK, matching other callers that need to distinguish consumed results from busy. Only NETDEV_TX_OK keeps the packet counted in tx_packets/tx_bytes and advances the slave; a consumed result that is neither a success nor NET_XMIT_CN ends the attempt and is charged to tx_dropped, so lower-qdisc drops are no longer reported as good transmits. NET_XMIT_CN is counted like success because it can accompany acceptance of the current packet: pfifo_head_drop drops the old head, enqueues the current skb and returns NET_XMIT_CN. Conditions to recreate the bug: With CONFIG_NET_SCH_TEQL, CONFIG_VLAN_8021Q and CONFIG_DUMMY enabled, add lkrdummy0 (dummy) and lkrvlan0 (VLAN id 37 on lkrdummy0); set a pfifo limit 0 root on lkrdummy0 and a teql0 root on lkrvlan0; bring teql0 up with an address and send one UDP packet to it. The VLAN xmit returns NET_XMIT_DROP from the lower qdisc while holding a freed skb.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 572a9d7b6fc7f20f573664063324c086be310c42 , < 8d5f768780e26cb82c389219ae7fdb1cd7255421 (git)
    Affected: 572a9d7b6fc7f20f573664063324c086be310c42 , < fc55d92ae6a4b2e7d062cad6d4c67f6b061d9cde (git)
    Affected: 572a9d7b6fc7f20f573664063324c086be310c42 , < 2702ae318630787c640ec0d0403ffd9d95c43e9e (git)
    Affected: 572a9d7b6fc7f20f573664063324c086be310c42 , < 782d6bb8f9b8e9d8591181662222bf74cd3ecf79 (git)
    Create a notification for this product.
    Linux Linux Affected: 2.6.33
    Unaffected: 0 , < 2.6.33 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.3.2 , ≤ 7.3.* (semver)
    Unaffected: 7.4-rc1 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "net/sched/sch_teql.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "8d5f768780e26cb82c389219ae7fdb1cd7255421",
                  "status": "affected",
                  "version": "572a9d7b6fc7f20f573664063324c086be310c42",
                  "versionType": "git"
                },
                {
                  "lessThan": "fc55d92ae6a4b2e7d062cad6d4c67f6b061d9cde",
                  "status": "affected",
                  "version": "572a9d7b6fc7f20f573664063324c086be310c42",
                  "versionType": "git"
                },
                {
                  "lessThan": "2702ae318630787c640ec0d0403ffd9d95c43e9e",
                  "status": "affected",
                  "version": "572a9d7b6fc7f20f573664063324c086be310c42",
                  "versionType": "git"
                },
                {
                  "lessThan": "782d6bb8f9b8e9d8591181662222bf74cd3ecf79",
                  "status": "affected",
                  "version": "572a9d7b6fc7f20f573664063324c086be310c42",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "net/sched/sch_teql.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "2.6.33"
                },
                {
                  "lessThan": "2.6.33",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.2",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.4-rc1",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "2.6.33",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "2.6.33",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.2",
                      "versionStartIncluding": "2.6.33",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.4-rc1",
                      "versionStartIncluding": "2.6.33",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: sch_teql: fix use-after-free on lower qdisc drop\n\nThe issue: teql_master_xmit() tests the slave\u0027s ndo_start_xmit() return\nvalue against NETDEV_TX_OK alone. A slave that consumes the skb but\nreturns an error code (rc \u003c NET_XMIT_MASK, e.g. NET_XMIT_DROP) is treated\nas if the skb were still owned, so the loop restores skb-\u003edev and calls\n__skb_pull() on it. A VLAN slave returns the result of dev_queue_xmit()\nfrom its ndo_start_xmit() (propagated since cbbef5e18307), and when the\nlower qdisc drops the packet that value is NET_XMIT_DROP after the skb\nhas been freed, giving a use-after-free in teql_master_xmit().\n\nThe Fix: test for consumption with dev_xmit_complete(), which accepts\nNETDEV_TX_OK and every rc \u003c NET_XMIT_MASK, matching other callers that\nneed to distinguish consumed results from busy. Only NETDEV_TX_OK keeps\nthe packet counted in tx_packets/tx_bytes and advances the slave; a\nconsumed result that is neither a success nor NET_XMIT_CN ends the\nattempt and is charged to tx_dropped, so lower-qdisc drops are no longer\nreported as good transmits. NET_XMIT_CN is counted like success because\nit can accompany acceptance of the current packet: pfifo_head_drop drops\nthe old head, enqueues the current skb and returns NET_XMIT_CN.\n\nConditions to recreate the bug:\nWith CONFIG_NET_SCH_TEQL,\nCONFIG_VLAN_8021Q and CONFIG_DUMMY enabled, add lkrdummy0 (dummy) and\nlkrvlan0 (VLAN id 37 on lkrdummy0); set a pfifo limit 0 root on lkrdummy0\nand a teql0 root on lkrvlan0; bring teql0 up with an address and send one\nUDP packet to it. The VLAN xmit returns NET_XMIT_DROP from the lower\nqdisc while holding a freed skb."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:29.554Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/8d5f768780e26cb82c389219ae7fdb1cd7255421"
            },
            {
              "url": "https://git.kernel.org/stable/c/fc55d92ae6a4b2e7d062cad6d4c67f6b061d9cde"
            },
            {
              "url": "https://git.kernel.org/stable/c/2702ae318630787c640ec0d0403ffd9d95c43e9e"
            },
            {
              "url": "https://git.kernel.org/stable/c/782d6bb8f9b8e9d8591181662222bf74cd3ecf79"
            }
          ],
          "title": "net/sched: sch_teql: fix use-after-free on lower qdisc drop",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99282",
        "datePublished": "2026-11-07T14:08:47.978Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T18:15:29.554Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99281 (GCVE-0-2026-99281)

    Vulnerability from cvelistv5 – Published: 2026-11-07 14:08 – Updated: 2026-11-10 18:15
    VLAI
    Title
    tun: Require CAP_NET_ADMIN to attach to an ownerless device
    Summary
    In the Linux kernel, the following vulnerability has been resolved: tun: Require CAP_NET_ADMIN to attach to an ownerless device Twenty years ago I made creating a tuntap device require CAP_NET_ADMIN in commit ca6bb5d7ab22 ("[NET]: Require CAP_NET_ADMIN to create tuntap devices.") The idea was to allow the permissions on /dev/net/tun to be relaxed to 0666 and thus allow owners of tun devices assigned with TUNSETOWNER to actually open it and get at their devices. What we missed at the time was that persistent devices with *no* owner were already essentially world-consumable, and anyone who could open the device node could also attach to those. Even then, using persistent devices with no explicitly set owner — on the (false) presumption that CAP_NET_ADMIN would be required to open them — wasn't an egregious userspace bug. There are cases where it does make sense to separate the creation/configuration of the netdevice, from the process which shovels packets into it. Since then, TUNSETGROUP was added a year later in commit 8c644623fe7e ("[NET]: Allow group ownership of TUN/TAP devices."). Its commit message noted that if both uid and gid are set, both have to match (in itself a bizarre choice) — but still not that with *neither* set, no permission at all was required. Then in 2012 commit c8d68e6be1c3 ("tuntap: multiqueue support") allowed new queues to be attached to a device from the moment of its creation, with no way for userspace to close the race between creation and a subsequent TUNSET{OWNER,GROUP}. In 2024, commit 3ca459eaba1bf ("tun: fix group permission check") tried to fix things to be saner: only require the user *or* the group to match, in line with standard POSIX permissions, and require CAP_NET_ADMIN if neither the user nor group authorised the access (although it put the CAP_NET_ADMIN check first, and would wrongly have reported the capability as having been used even when it was not). That fix was reverted in commit a70c7b3cbc06 ("tun: revert fix group permission check") due to allegedly causing a regression in an selinux test suite which *expected* the attachment to succeed when authorised by none of user, group, nor CAP_NET_ADMIN: https://lore.kernel.org/netdev/CAFqZXNtkCBT4f+PwyVRmQGoT3p1eVa01fCG_aNtpt6dakXncUg@mail.gmail.com/ We should not break UAPI. But we don't have to consider an selinux test case which deliberately exercises a security flaw to be UAPI worth preserving either. To which end, I have fixed it in selinux-testsuite commit b2f894f0016b ("tests/tun_tap: set an owner on the device for the relabel tests"). So: fix the lack of CAP_NET_ADMIN check on devices which *haven't* been assigned an owner or group, while leaving the weird tun ownership model as it was (user *and* group have to match, if both are set). If someone still wants to fix the latter (which wasn't actually the reason the previous attempt was reverted), they can do it under separate cover. Permit attaching to an existing device only if an owner and/or group was set and the caller matches all that were set, or if the caller has CAP_NET_ADMIN. The only behavioural change is that a device with no owner or group now requires CAP_NET_ADMIN to attach — precisely the loophole we want to close. And put the CAP_NET_ADMIN check in the right place this time.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: ca6bb5d7ab22ac79f608fe6cbc6b12de6a5a19f0 , < e0d98aab41b79b88609f33fb4d8e7a80ab8f648d (git)
    Affected: ca6bb5d7ab22ac79f608fe6cbc6b12de6a5a19f0 , < 2f92c0286cfd58bff9d6d54c01a771073d5eb775 (git)
    Affected: ca6bb5d7ab22ac79f608fe6cbc6b12de6a5a19f0 , < e53d1cf05da8ea58a5743b7ce5894fb51b0b9700 (git)
    Affected: ca6bb5d7ab22ac79f608fe6cbc6b12de6a5a19f0 , < ffdf678dd16610e3f006dac904bd37c09684673c (git)
    Create a notification for this product.
    Linux Linux Affected: 2.6.18
    Unaffected: 0 , < 2.6.18 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.3.2 , ≤ 7.3.* (semver)
    Unaffected: 7.4-rc1 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/tun.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "e0d98aab41b79b88609f33fb4d8e7a80ab8f648d",
                  "status": "affected",
                  "version": "ca6bb5d7ab22ac79f608fe6cbc6b12de6a5a19f0",
                  "versionType": "git"
                },
                {
                  "lessThan": "2f92c0286cfd58bff9d6d54c01a771073d5eb775",
                  "status": "affected",
                  "version": "ca6bb5d7ab22ac79f608fe6cbc6b12de6a5a19f0",
                  "versionType": "git"
                },
                {
                  "lessThan": "e53d1cf05da8ea58a5743b7ce5894fb51b0b9700",
                  "status": "affected",
                  "version": "ca6bb5d7ab22ac79f608fe6cbc6b12de6a5a19f0",
                  "versionType": "git"
                },
                {
                  "lessThan": "ffdf678dd16610e3f006dac904bd37c09684673c",
                  "status": "affected",
                  "version": "ca6bb5d7ab22ac79f608fe6cbc6b12de6a5a19f0",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/tun.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "2.6.18"
                },
                {
                  "lessThan": "2.6.18",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.2",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.4-rc1",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "2.6.18",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "2.6.18",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.2",
                      "versionStartIncluding": "2.6.18",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.4-rc1",
                      "versionStartIncluding": "2.6.18",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntun: Require CAP_NET_ADMIN to attach to an ownerless device\n\nTwenty years ago I made creating a tuntap device require CAP_NET_ADMIN\nin commit ca6bb5d7ab22 (\"[NET]: Require CAP_NET_ADMIN to create tuntap\ndevices.\")\n\nThe idea was to allow the permissions on /dev/net/tun to be relaxed to\n0666 and thus allow owners of tun devices assigned with TUNSETOWNER to\nactually open it and get at their devices.\n\nWhat we missed at the time was that persistent devices with *no* owner\nwere already essentially world-consumable, and anyone who could open\nthe device node could also attach to those.\n\nEven then, using persistent devices with no explicitly set owner \u2014 on\nthe (false) presumption that CAP_NET_ADMIN would be required to open\nthem \u2014 wasn\u0027t an egregious userspace bug. There are cases where it does\nmake sense to separate the creation/configuration of the netdevice, from\nthe process which shovels packets into it.\n\nSince then, TUNSETGROUP was added a year later in commit 8c644623fe7e\n(\"[NET]: Allow group ownership of TUN/TAP devices.\"). Its commit message\nnoted that if both uid and gid are set, both have to match (in itself a\nbizarre choice) \u2014 but still not that with *neither* set, no permission\nat all was required.\n\nThen in 2012 commit c8d68e6be1c3 (\"tuntap: multiqueue support\") allowed\nnew queues to be attached to a device from the moment of its creation,\nwith no way for userspace to close the race between creation and a\nsubsequent TUNSET{OWNER,GROUP}.\n\nIn 2024, commit 3ca459eaba1bf (\"tun: fix group permission check\") tried\nto fix things to be saner: only require the user *or* the group to\nmatch, in line with standard POSIX permissions, and require\nCAP_NET_ADMIN if neither the user nor group authorised the access\n(although it put the CAP_NET_ADMIN check first, and would wrongly have\nreported the capability as having been used even when it was not).\n\nThat fix was reverted in commit a70c7b3cbc06 (\"tun: revert fix group\npermission check\") due to allegedly causing a regression in an selinux\ntest suite which *expected* the attachment to succeed when authorised\nby none of user, group, nor CAP_NET_ADMIN:\nhttps://lore.kernel.org/netdev/CAFqZXNtkCBT4f+PwyVRmQGoT3p1eVa01fCG_aNtpt6dakXncUg@mail.gmail.com/\n\nWe should not break UAPI. But we don\u0027t have to consider an selinux test\ncase which deliberately exercises a security flaw to be UAPI worth\npreserving either. To which end, I have fixed it in selinux-testsuite\ncommit b2f894f0016b (\"tests/tun_tap: set an owner on the device for the\nrelabel tests\").\n\nSo: fix the lack of CAP_NET_ADMIN check on devices which *haven\u0027t* been\nassigned an owner or group, while leaving the weird tun ownership model\nas it was (user *and* group have to match, if both are set). If someone\nstill wants to fix the latter (which wasn\u0027t actually the reason the\nprevious attempt was reverted), they can do it under separate cover.\n\nPermit attaching to an existing device only if an owner and/or group was\nset and the caller matches all that were set, or if the caller has\nCAP_NET_ADMIN. The only behavioural change is that a device with no\nowner or group now requires CAP_NET_ADMIN to attach \u2014 precisely the\nloophole we want to close.\n\nAnd put the CAP_NET_ADMIN check in the right place this time."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:L - The attacker reaches the patched check by opening /dev/net/tun in tun_chr_open and issuing TUNSETIFF; __tun_chr_ioctl copies the ifreq and tun_set_iff looks the device up with __dev_get_by_name. The triggering input is that ioctl, on the ownerless branch of the old tun_not_capable predicate.\nAC:L - tun_setup stores INVALID_UID and INVALID_GID, so the old tun_not_capable predicate is false with no race. After the creator of an IFF_PERSIST device closes it, numqueues is 0 and tun_attach from TUNSETIFF succeeds on every try; an IFF_MULTI_QUEUE device accepts another queue the same way.\nPR:L - The ownerless path in the old tun_not_capable returns false without calling ns_capable(net-\u003euser_ns, CAP_NET_ADMIN). tun_chr_open has no capability check, and /dev/net/tun is mode 0666, so any local user can issue that TUNSETIFF. The caller is an unprivileged local user.\nUI:N - The attacker alone opens /dev/net/tun and passes the interface name to TUNSETIFF. That ioctl is the whole trigger.\nS:U - tun_chr_open binds the fd to current-\u003ensproxy-\u003enet_ns, and tun_set_iff attaches only a device in that net. The impact is that namespace\u0027s tun packet queue and the tun ioctls on the resulting fd, under the same security authority as the caller.\nC:H - tun_net_xmit queues the device\u0027s egress skbs on the attached tfile, and tun_chr_read_iter, tun_do_read, and tun_put_user copy each full skb to the attacker. On a single-queue device that is every packet the host transmits on that interface.\nI:H - tun_chr_write_iter calls tun_get_user, which copies the attacker buffer into an skb, sets skb-\u003edev, and injects it through netif_rx as ingress. On that same fd, __tun_chr_ioctl handles SIOCSIFHWADDR, TUNSETTXFILTER, TUNSETOWNER, and set_offload with no further capability check.\nA:H - Once numqueues is 1, a non-multiqueue tun_attach returns -EBUSY, so the legitimate opener cannot reclaim the device. TUNSETCARRIER calls netif_carrier_off, and TUNSETPERSIST(0) followed by close makes __tun_detach call unregister_netdevice and delete the interface."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:28.611Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/e0d98aab41b79b88609f33fb4d8e7a80ab8f648d"
            },
            {
              "url": "https://git.kernel.org/stable/c/2f92c0286cfd58bff9d6d54c01a771073d5eb775"
            },
            {
              "url": "https://git.kernel.org/stable/c/e53d1cf05da8ea58a5743b7ce5894fb51b0b9700"
            },
            {
              "url": "https://git.kernel.org/stable/c/ffdf678dd16610e3f006dac904bd37c09684673c"
            }
          ],
          "title": "tun: Require CAP_NET_ADMIN to attach to an ownerless device",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99281",
        "datePublished": "2026-11-07T14:08:47.735Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T18:15:28.611Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99277 (GCVE-0-2026-99277)

    Vulnerability from cvelistv5 – Published: 2026-11-07 14:08 – Updated: 2026-11-10 16:57
    VLAI
    Title
    ksmbd: hold a connection reference for each session channel
    Summary
    In the Linux kernel, the following vulnerability has been resolved: ksmbd: hold a connection reference for each session channel ksmbd_session_unregister() removes a session from the global and per- connection tables before dropping the table reference. A concurrent reference holder can keep the session and its channel list alive after those removals. Connection cleanup can no longer find the unpublished session to remove its channels. Since a channel only stores a raw conn pointer, the connection can be freed while another session reference holder is still accessing it, for example during SMB3.1.1 binding or a procfs read. Take a connection reference when registering a channel and release it on insertion failure, channel removal, or final session destruction. Keep the channels and signing keys until the session is destroyed so a response can still be signed after the session has been unregistered.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: d7fd1f98607f2cd358e583f9548bdf0173090a86 , < 4b333aed69cfc2c8687b86b6a4364a0dffc16dd8 (git)
    Affected: d7fd1f98607f2cd358e583f9548bdf0173090a86 , < add8d7fb04efe564193df73581889c62fc0016f1 (git)
    Affected: c99ea7855124ca1428a1e59c2b4590aaef34eacf (git)
    Affected: 7.2.8 , < 7.3 (semver)
    Create a notification for this product.
    Linux Linux Affected: 7.3
    Unaffected: 0 , < 7.3 (semver)
    Unaffected: 7.3.2 , ≤ 7.3.* (semver)
    Unaffected: 7.4-rc1 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/smb/server/mgmt/user_session.c",
                "fs/smb/server/smb2pdu.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "4b333aed69cfc2c8687b86b6a4364a0dffc16dd8",
                  "status": "affected",
                  "version": "d7fd1f98607f2cd358e583f9548bdf0173090a86",
                  "versionType": "git"
                },
                {
                  "lessThan": "add8d7fb04efe564193df73581889c62fc0016f1",
                  "status": "affected",
                  "version": "d7fd1f98607f2cd358e583f9548bdf0173090a86",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "c99ea7855124ca1428a1e59c2b4590aaef34eacf",
                  "versionType": "git"
                },
                {
                  "lessThan": "7.3",
                  "status": "affected",
                  "version": "7.2.8",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/smb/server/mgmt/user_session.c",
                "fs/smb/server/smb2pdu.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "7.3"
                },
                {
                  "lessThan": "7.3",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.2",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.4-rc1",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.2",
                      "versionStartIncluding": "7.3",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.4-rc1",
                      "versionStartIncluding": "7.3",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "7.2.8",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: hold a connection reference for each session channel\n\nksmbd_session_unregister() removes a session from the global and per-\nconnection tables before dropping the table reference. A concurrent\nreference holder can keep the session and its channel list alive after\nthose removals.\n\nConnection cleanup can no longer find the unpublished session to remove its\nchannels. Since a channel only stores a raw conn pointer, the connection\ncan be freed while another session reference holder is still accessing it,\nfor example during SMB3.1.1 binding or a procfs read.\n\nTake a connection reference when registering a channel and release it on\ninsertion failure, channel removal, or final session destruction. Keep the\nchannels and signing keys until the session is destroyed so a response can\nstill be signed after the session has been unregistered."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:N - register_session_channel() runs from smb2_sess_setup() after ksmbd_conn_handler_loop() queues an SMB2 SESSION_SETUP read from the TCP socket. That command stores the connection in chann-\u003econn without a reference; a later failing SESSION_SETUP calls ksmbd_session_unregister(), and ksmbd_conn_free() can free it while the channel still points at it.\nAC:H - ksmbd_session_unregister() drops an established session only after session_setup_reauth sets SMB2_SESSION_IN_PROGRESS because sess-\u003ekerberos_expiry has passed. The attacker\u0027s chann-\u003econn-\u003ecipher_type read is smb2_sess_setup()\u0027s SMB 3.1.1 binding arm, entered only when KSMBD_GLOBAL_FLAG_SMB3_MULTICHANNEL is already set, immediately after ksmbd_session_lookup_slowpath(), with no delay the attacker can hold across __ksmbd_conn_release_work().\nPR:L - register_session_channel() writes chann-\u003econn only after ntlm_authenticate() or krb5_authenticate() succeeds, and the reauth path that unregisters a session which already has channels depends on kerberos_expiry set by ksmbd_krb5_authenticate(). A SESSION_SETUP rejected before authentication stores no channel.\nUI:N - The client sends the SESSION_SETUP that registers the channel, the failing reauth SESSION_SETUP that calls ksmbd_session_unregister(), and the TCP close that reaches ksmbd_server_terminate_conn() and ksmbd_conn_free().\nS:U - The freed object is a ksmbd_conn in the host kernel that serves this SMB session, so the corruption stays in that kernel security authority.\nC:H - __ksmbd_conn_release_work() kfree_sensitive()s the conn while the channel keeps the pointer. smb2_sess_setup() then reads chann-\u003econn-\u003ecipher_type, and show_proc_session() follows chan-\u003econn-\u003evals and inet_addr; reclaiming the slab lets those uses disclose the replacement object.\nI:H - show_proc_session() down_read()s chan-\u003econn-\u003esession_lock through the channel\u0027s raw pointer after the connection can already have been freed, writing the rwsem of whatever reused that slot. The use-after-free of ksmbd_conn is a heap write against that allocation.\nA:H - smb2_sess_setup()\u0027s read of chann-\u003econn-\u003ecipher_type and show_proc_session()\u0027s lock of chan-\u003econn-\u003esession_lock both use the ksmbd_conn after __ksmbd_conn_release_work() freed it, which oopses the kernel."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T16:57:40.367Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/4b333aed69cfc2c8687b86b6a4364a0dffc16dd8"
            },
            {
              "url": "https://git.kernel.org/stable/c/add8d7fb04efe564193df73581889c62fc0016f1"
            }
          ],
          "title": "ksmbd: hold a connection reference for each session channel",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99277",
        "datePublished": "2026-11-07T14:08:46.710Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T16:57:40.367Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99274 (GCVE-0-2026-99274)

    Vulnerability from cvelistv5 – Published: 2026-11-07 14:08 – Updated: 2026-11-10 18:15
    VLAI
    Title
    smb: client: fix fiemap wild read on empty truncated response
    Summary
    In the Linux kernel, the following vulnerability has been resolved: smb: client: fix fiemap wild read on empty truncated response smb3_fiemap() treats -E2BIG from SMB2_ioctl() as a truncated range blob and loops for the next chunk. If the server reports STATUS_BUFFER_OVERFLOW with OutputCount == 0, SMB2_ioctl() returns -E2BIG with out_data == NULL and out_data_len == 0, and the existing length checks accept the empty result. The loop then evaluates next = out_data[num - 1].file_offset + ... with num == 0, reading 16 bytes before NULL. Reject a truncated range blob that contains no range, so the resume offset is never computed from an empty response. Also require the last range in a truncated blob to advance the resume offset without overflowing, and to stay within the requested range; a malicious or broken server could otherwise make no progress or underflow len and loop forever. Free the previous response buffer before retrying. Reproduced on 6.6.87.2 with a malicious SMB2 server that answers FSCTL_QUERY_ALLOCATED_RANGES with STATUS_BUFFER_OVERFLOW and OutputCount == 0; an FS_IOC_FIEMAP ioctl on the mount oopses in cifs_fiemap() with CR2 = fffffffffffffff8. The code path is unchanged on mainline.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 , < 8e0d425b808c367f5033eb72aa4528ae18473627 (git)
    Affected: 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 , < 4a426ca5be7e3dedbe76575b967db04fbf01136f (git)
    Affected: 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 , < 31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca (git)
    Affected: 2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4 , < f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc (git)
    Create a notification for this product.
    Linux Linux Affected: 5.2
    Unaffected: 0 , < 5.2 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.3.2 , ≤ 7.3.* (semver)
    Unaffected: 7.4-rc1 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/smb/client/smb2ops.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "8e0d425b808c367f5033eb72aa4528ae18473627",
                  "status": "affected",
                  "version": "2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4",
                  "versionType": "git"
                },
                {
                  "lessThan": "4a426ca5be7e3dedbe76575b967db04fbf01136f",
                  "status": "affected",
                  "version": "2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4",
                  "versionType": "git"
                },
                {
                  "lessThan": "31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca",
                  "status": "affected",
                  "version": "2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4",
                  "versionType": "git"
                },
                {
                  "lessThan": "f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc",
                  "status": "affected",
                  "version": "2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/smb/client/smb2ops.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.2"
                },
                {
                  "lessThan": "5.2",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.2",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.4-rc1",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "5.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "5.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.2",
                      "versionStartIncluding": "5.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.4-rc1",
                      "versionStartIncluding": "5.2",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: fix fiemap wild read on empty truncated response\n\nsmb3_fiemap() treats -E2BIG from SMB2_ioctl() as a truncated range blob\nand loops for the next chunk. If the server reports\nSTATUS_BUFFER_OVERFLOW with OutputCount == 0, SMB2_ioctl() returns\n-E2BIG with out_data == NULL and out_data_len == 0, and the existing\nlength checks accept the empty result. The loop then evaluates\n\n\tnext = out_data[num - 1].file_offset + ...\n\nwith num == 0, reading 16 bytes before NULL.\n\nReject a truncated range blob that contains no range, so the resume\noffset is never computed from an empty response. Also require the last\nrange in a truncated blob to advance the resume offset without\noverflowing, and to stay within the requested range; a malicious or\nbroken server could otherwise make no progress or underflow len and loop\nforever. Free the previous response buffer before retrying.\n\nReproduced on 6.6.87.2 with a malicious SMB2 server that answers\nFSCTL_QUERY_ALLOCATED_RANGES with STATUS_BUFFER_OVERFLOW and\nOutputCount == 0; an FS_IOC_FIEMAP ioctl on the mount oopses in\ncifs_fiemap() with CR2 = fffffffffffffff8. The code path is unchanged\non mainline."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:27.974Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/8e0d425b808c367f5033eb72aa4528ae18473627"
            },
            {
              "url": "https://git.kernel.org/stable/c/4a426ca5be7e3dedbe76575b967db04fbf01136f"
            },
            {
              "url": "https://git.kernel.org/stable/c/31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca"
            },
            {
              "url": "https://git.kernel.org/stable/c/f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc"
            }
          ],
          "title": "smb: client: fix fiemap wild read on empty truncated response",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99274",
        "datePublished": "2026-11-07T14:08:45.924Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T18:15:27.974Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99273 (GCVE-0-2026-99273)

    Vulnerability from cvelistv5 – Published: 2026-11-07 14:08 – Updated: 2026-11-10 18:15
    VLAI
    Title
    ksmbd: reserve space for the UTF-16 terminator in stream info
    Summary
    In the Linux kernel, the following vulnerability has been resolved: ksmbd: reserve space for the UTF-16 terminator in stream info smb_strtoUTF16() always writes a terminating zero UTF-16 unit after the converted characters, but get_file_stream_info() budgets only sizeof(struct smb2_file_stream_info) + streamlen * 2 for a stream entry and sizeof(struct smb2_file_stream_info) + 7 * 2 for the trailing "::$DATA" entry. When an entry exactly fills the 448-byte small response buffer, the terminator is written two bytes past the allocation. Reserve one extra UTF-16 unit in both budget checks. The terminator is not part of the wire format, so the reported lengths are unchanged.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 583ede545a14f275a959772b5e1e50fe3e14b861 (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 06a751809ebd33e95b05bf733697318a17a4872b (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 0e64f89563164719ceb1aa33f2a8bfd6391fa340 (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < a025c4991a7d83edc4dd339e3ea86d8ff6226eca (git)
    Affected: 0 , < 6.12.117 (semver)
    Affected: 0 , < 6.18.61 (semver)
    Affected: 0 , < 7.3.2 (semver)
    Create a notification for this product.
    Linux Linux Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.3.2 , ≤ 7.3.* (semver)
    Unaffected: 7.4-rc1 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/smb/server/smb2pdu.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "583ede545a14f275a959772b5e1e50fe3e14b861",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "06a751809ebd33e95b05bf733697318a17a4872b",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "0e64f89563164719ceb1aa33f2a8bfd6391fa340",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "a025c4991a7d83edc4dd339e3ea86d8ff6226eca",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "6.12.117",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.18.61",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThan": "7.3.2",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/smb/server/smb2pdu.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.2",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.4-rc1",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.4-rc1",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: reserve space for the UTF-16 terminator in stream info\n\nsmb_strtoUTF16() always writes a terminating zero UTF-16 unit after the\nconverted characters, but get_file_stream_info() budgets only\nsizeof(struct smb2_file_stream_info) + streamlen * 2 for a stream entry\nand sizeof(struct smb2_file_stream_info) + 7 * 2 for the trailing\n\"::$DATA\" entry. When an entry exactly fills the 448-byte small response\nbuffer, the terminator is written two bytes past the allocation.\n\nReserve one extra UTF-16 unit in both budget checks. The terminator is\nnot part of the wire format, so the reported lengths are unchanged."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:27.637Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/583ede545a14f275a959772b5e1e50fe3e14b861"
            },
            {
              "url": "https://git.kernel.org/stable/c/06a751809ebd33e95b05bf733697318a17a4872b"
            },
            {
              "url": "https://git.kernel.org/stable/c/0e64f89563164719ceb1aa33f2a8bfd6391fa340"
            },
            {
              "url": "https://git.kernel.org/stable/c/a025c4991a7d83edc4dd339e3ea86d8ff6226eca"
            }
          ],
          "title": "ksmbd: reserve space for the UTF-16 terminator in stream info",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99273",
        "datePublished": "2026-11-07T14:08:45.585Z",
        "dateReserved": "2026-09-25T10:25:14.405Z",
        "dateUpdated": "2026-11-10T18:15:27.637Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99271 (GCVE-0-2026-99271)

    Vulnerability from cvelistv5 – Published: 2026-11-07 14:08 – Updated: 2026-11-10 18:15
    VLAI
    Title
    ALSA: line6: Clear prev_fbuf on capture buffer release
    Summary
    In the Linux kernel, the following vulnerability has been resolved: ALSA: line6: Clear prev_fbuf on capture buffer release A KASAN slab-use-after-free read was reported in submit_audio_out_urb() when generating an impulse test signal: BUG: KASAN: slab-use-after-free in create_impulse_test_signal sound/usb/line6/playback.c:76 [inline] BUG: KASAN: slab-use-after-free in submit_audio_out_urb+0x1848/0x1b20 sound/usb/line6/playback.c:249 Read of size 2 at addr ffff888008d74870 by task syz.2.3214/7785 Allocated by task 11: kmem_cache_alloc_noprof+0x2f0/0x390 mm/slub.c:4144 line6_buffer_acquire+0x1a1/0x220 sound/usb/line6/pcm.c:158 line6_pcm_acquire+0xb6/0x230 sound/usb/line6/pcm.c:329 line6_startup_work+0x3c/0x50 sound/usb/line6/driver.c:728 Freed by task 7785: kfree+0xf8/0x390 mm/slub.c:6566 line6_buffer_release sound/usb/line6/pcm.c:176 [inline] line6_buffer_release+0xa5/0xf0 sound/usb/line6/pcm.c:170 __line6_pcm_release sound/usb/line6/pcm.c:305 [inline] line6_pcm_release+0x5a/0x80 sound/usb/line6/pcm.c:313 snd_toneport_monitor_put+0x11b/0x190 sound/usb/line6/toneport.c:183 line6pcm->prev_fbuf points into the capture PCM stream buffer (line6pcm->in.buffer), which is updated during audio_in_callback() to feed rate synchronization, software monitoring, and impulse test signal generation on playback side. When all capture streams are closed, line6_buffer_release() frees pstr->buffer with kfree(). However, it does not clear line6pcm->prev_fbuf. If playback is subsequently started (e.g. via impulse test signal volume control snd_line6_impulse_volume_put()), submit_audio_out_urb() dereferences the stale pointer line6pcm->prev_fbuf under in.lock, resulting in a slab-use-after-free read. Clear prev_fbuf and prev_fsize in line6_buffer_release() when releasing the capture stream buffer under in.lock, ensuring that no stale buffer pointer can be accessed by submit_audio_out_urb().
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 63e20df1e5b2ef8d871ecbdb6c038d554ed1ca74 , < d063975ed22cdc2cb609a9828e5f658448193606 (git)
    Affected: 63e20df1e5b2ef8d871ecbdb6c038d554ed1ca74 , < 862d9268f40a6e10cef24eb226e738fb69ce8aa7 (git)
    Affected: 63e20df1e5b2ef8d871ecbdb6c038d554ed1ca74 , < 22c82f33ff0b68d37041adf1dea5533a5863cd31 (git)
    Affected: 63e20df1e5b2ef8d871ecbdb6c038d554ed1ca74 , < aa118c8f61d59387961d58ffae831c5259a9f222 (git)
    Create a notification for this product.
    Linux Linux Affected: 4.0
    Unaffected: 0 , < 4.0 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.3.2 , ≤ 7.3.* (semver)
    Unaffected: 7.4-rc1 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "sound/usb/line6/pcm.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "d063975ed22cdc2cb609a9828e5f658448193606",
                  "status": "affected",
                  "version": "63e20df1e5b2ef8d871ecbdb6c038d554ed1ca74",
                  "versionType": "git"
                },
                {
                  "lessThan": "862d9268f40a6e10cef24eb226e738fb69ce8aa7",
                  "status": "affected",
                  "version": "63e20df1e5b2ef8d871ecbdb6c038d554ed1ca74",
                  "versionType": "git"
                },
                {
                  "lessThan": "22c82f33ff0b68d37041adf1dea5533a5863cd31",
                  "status": "affected",
                  "version": "63e20df1e5b2ef8d871ecbdb6c038d554ed1ca74",
                  "versionType": "git"
                },
                {
                  "lessThan": "aa118c8f61d59387961d58ffae831c5259a9f222",
                  "status": "affected",
                  "version": "63e20df1e5b2ef8d871ecbdb6c038d554ed1ca74",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "sound/usb/line6/pcm.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "4.0"
                },
                {
                  "lessThan": "4.0",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.2",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.4-rc1",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "4.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "4.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.2",
                      "versionStartIncluding": "4.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.4-rc1",
                      "versionStartIncluding": "4.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: line6: Clear prev_fbuf on capture buffer release\n\nA KASAN slab-use-after-free read was reported in submit_audio_out_urb()\nwhen generating an impulse test signal:\n\n  BUG: KASAN: slab-use-after-free in create_impulse_test_signal sound/usb/line6/playback.c:76 [inline]\n  BUG: KASAN: slab-use-after-free in submit_audio_out_urb+0x1848/0x1b20 sound/usb/line6/playback.c:249\n  Read of size 2 at addr ffff888008d74870 by task syz.2.3214/7785\n\n  Allocated by task 11:\n   kmem_cache_alloc_noprof+0x2f0/0x390 mm/slub.c:4144\n   line6_buffer_acquire+0x1a1/0x220 sound/usb/line6/pcm.c:158\n   line6_pcm_acquire+0xb6/0x230 sound/usb/line6/pcm.c:329\n   line6_startup_work+0x3c/0x50 sound/usb/line6/driver.c:728\n\n  Freed by task 7785:\n   kfree+0xf8/0x390 mm/slub.c:6566\n   line6_buffer_release sound/usb/line6/pcm.c:176 [inline]\n   line6_buffer_release+0xa5/0xf0 sound/usb/line6/pcm.c:170\n   __line6_pcm_release sound/usb/line6/pcm.c:305 [inline]\n   line6_pcm_release+0x5a/0x80 sound/usb/line6/pcm.c:313\n   snd_toneport_monitor_put+0x11b/0x190 sound/usb/line6/toneport.c:183\n\nline6pcm-\u003eprev_fbuf points into the capture PCM stream buffer\n(line6pcm-\u003ein.buffer), which is updated during audio_in_callback() to\nfeed rate synchronization, software monitoring, and impulse test signal\ngeneration on playback side.\n\nWhen all capture streams are closed, line6_buffer_release() frees\npstr-\u003ebuffer with kfree().  However, it does not clear line6pcm-\u003eprev_fbuf.\nIf playback is subsequently started (e.g. via impulse test signal\nvolume control snd_line6_impulse_volume_put()), submit_audio_out_urb()\ndereferences the stale pointer line6pcm-\u003eprev_fbuf under in.lock,\nresulting in a slab-use-after-free read.\n\nClear prev_fbuf and prev_fsize in line6_buffer_release() when releasing\nthe capture stream buffer under in.lock, ensuring that no stale buffer\npointer can be accessed by submit_audio_out_urb()."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:27.042Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/d063975ed22cdc2cb609a9828e5f658448193606"
            },
            {
              "url": "https://git.kernel.org/stable/c/862d9268f40a6e10cef24eb226e738fb69ce8aa7"
            },
            {
              "url": "https://git.kernel.org/stable/c/22c82f33ff0b68d37041adf1dea5533a5863cd31"
            },
            {
              "url": "https://git.kernel.org/stable/c/aa118c8f61d59387961d58ffae831c5259a9f222"
            }
          ],
          "title": "ALSA: line6: Clear prev_fbuf on capture buffer release",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99271",
        "datePublished": "2026-11-07T14:08:45.047Z",
        "dateReserved": "2026-09-25T10:25:14.404Z",
        "dateUpdated": "2026-11-10T18:15:27.042Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-100081 (GCVE-0-2026-100081)

    Vulnerability from cvelistv5 – Published: 2026-11-06 18:23 – Updated: 2026-11-10 16:57
    VLAI
    Title
    xen-netback: defer xenvif_mcast_addr_list_free()
    Summary
    In the Linux kernel, the following vulnerability has been resolved: xen-netback: defer xenvif_mcast_addr_list_free() In order for the function to legitimately avoid locking/RCU, it needs to run after all TX/RX processing has finished/stopped: Lookups happen from xenvif_start_xmit(), while adds/removes happen from xenvif_tx_action() (called out of xenvif_poll()). Move the call out of xenvif_disconnect_data() (the call to the function from connect()'s error path doesn't require any cleaning up there), and put it past the synchronization point in backend_disconnect(). This is XSA-527 / CVE-2026-100081.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < 96e05a8ce243e2207704e2e7a6e7d1172730f515 (git)
    Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < 0e786123e46d08d2247ce93a5435e45ed9f4c5d1 (git)
    Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < 990d123d9eaa3ac6c979eed245658676d65ce0db (git)
    Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < 0d515c409033c8e2a645a781be3ca76ab825fc8c (git)
    Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < a6bb2f1fa62c56279bdcdadce28d1310c5e12b62 (git)
    Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < 34f0f63dc6dc11895a17bb5672451b6b11622c99 (git)
    Affected: b17075d5c1988b83f840d272c795ac17d57ce804 , < fb38fc58acb26d74fe8f7b19621fafaae3c040ff (git)
    Create a notification for this product.
    Linux Linux Affected: 4.11
    Unaffected: 0 , < 4.11 (semver)
    Unaffected: 5.10.274 , ≤ 5.10.* (semver)
    Unaffected: 5.15.225 , ≤ 5.15.* (semver)
    Unaffected: 6.1.192 , ≤ 6.1.* (semver)
    Unaffected: 6.6.162 , ≤ 6.6.* (semver)
    Unaffected: 6.12.116 , ≤ 6.12.* (semver)
    Unaffected: 6.18.62 , ≤ 6.18.* (semver)
    Unaffected: 7.3.3 , ≤ 7.3.* (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2026-11-06T19:08:43.050Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "url": "http://www.openwall.com/lists/oss-security/2026/11/06/10"
              },
              {
                "url": "http://xenbits.xen.org/xsa/advisory-527.html"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/xen-netback/interface.c",
                "drivers/net/xen-netback/xenbus.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "96e05a8ce243e2207704e2e7a6e7d1172730f515",
                  "status": "affected",
                  "version": "b17075d5c1988b83f840d272c795ac17d57ce804",
                  "versionType": "git"
                },
                {
                  "lessThan": "0e786123e46d08d2247ce93a5435e45ed9f4c5d1",
                  "status": "affected",
                  "version": "b17075d5c1988b83f840d272c795ac17d57ce804",
                  "versionType": "git"
                },
                {
                  "lessThan": "990d123d9eaa3ac6c979eed245658676d65ce0db",
                  "status": "affected",
                  "version": "b17075d5c1988b83f840d272c795ac17d57ce804",
                  "versionType": "git"
                },
                {
                  "lessThan": "0d515c409033c8e2a645a781be3ca76ab825fc8c",
                  "status": "affected",
                  "version": "b17075d5c1988b83f840d272c795ac17d57ce804",
                  "versionType": "git"
                },
                {
                  "lessThan": "a6bb2f1fa62c56279bdcdadce28d1310c5e12b62",
                  "status": "affected",
                  "version": "b17075d5c1988b83f840d272c795ac17d57ce804",
                  "versionType": "git"
                },
                {
                  "lessThan": "34f0f63dc6dc11895a17bb5672451b6b11622c99",
                  "status": "affected",
                  "version": "b17075d5c1988b83f840d272c795ac17d57ce804",
                  "versionType": "git"
                },
                {
                  "lessThan": "fb38fc58acb26d74fe8f7b19621fafaae3c040ff",
                  "status": "affected",
                  "version": "b17075d5c1988b83f840d272c795ac17d57ce804",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/xen-netback/interface.c",
                "drivers/net/xen-netback/xenbus.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "4.11"
                },
                {
                  "lessThan": "4.11",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.10.*",
                  "status": "unaffected",
                  "version": "5.10.274",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.15.*",
                  "status": "unaffected",
                  "version": "5.15.225",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.1.*",
                  "status": "unaffected",
                  "version": "6.1.192",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.6.*",
                  "status": "unaffected",
                  "version": "6.6.162",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.116",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.62",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.3.*",
                  "status": "unaffected",
                  "version": "7.3.3",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.10.274",
                      "versionStartIncluding": "4.11",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.15.225",
                      "versionStartIncluding": "4.11",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.1.192",
                      "versionStartIncluding": "4.11",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.6.162",
                      "versionStartIncluding": "4.11",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.116",
                      "versionStartIncluding": "4.11",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.62",
                      "versionStartIncluding": "4.11",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3.3",
                      "versionStartIncluding": "4.11",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxen-netback: defer xenvif_mcast_addr_list_free()\n\nIn order for the function to legitimately avoid locking/RCU, it needs to\nrun after all TX/RX processing has finished/stopped: Lookups happen from\nxenvif_start_xmit(), while adds/removes happen from xenvif_tx_action()\n(called out of xenvif_poll()).\n\nMove the call out of xenvif_disconnect_data() (the call to the function\nfrom connect()\u0027s error path doesn\u0027t require any cleaning up there), and\nput it past the synchronization point in backend_disconnect().\n\nThis is XSA-527 / CVE-2026-100081."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:L - The guest reaches the free by changing xenbus state: frontend_changed() calls set_backend_state(), which from XenbusStateConnected calls backend_disconnect() and xenvif_disconnect_data(), where xenvif_mcast_addr_list_free() ran before synchronize_net(). The raced lookup is xenvif_mcast_match() inside xenvif_start_xmit(); the trigger is that xenbus write, not a routable packet field.\nAC:H - xenvif_mcast_match() runs only when xenvif_start_xmit() has already seen VIF_STATUS_CONNECTED and a live queue-\u003etask, but xenvif_mcast_addr_list_free() runs only after xenvif_carrier_off() clears that bit and xenvif_disconnect_queue() returns from kthread_stop(). The lookup does not sleep, so it must be stalled across that teardown; MCAST_ADD plus Closing does not create that stall, and napi_disable() has already finished xenvif_tx_action().\nPR:L - frontend_changed() is the vif backend otherend_changed callback and accepts any connected frontend. The attacker must control that guest\u0027s xenstore frontend state and TX ring, i.e. the guest kernel; a host user namespace has no path to this xenbus backend.\nUI:N - The guest writes its own request-multicast-control key, queues XEN_NETIF_EXTRA_TYPE_MCAST_ADD on the TX ring, and sets the frontend xenbus state to Closing. The host operator does not have to mount media, open a device, or acknowledge a prompt.\nS:C - The use-after-free is in dom0 xen-netback: xenvif_mcast_match() dereferences vif-\u003efe_mcast_addr nodes freed by xenvif_mcast_addr_list_free(). A guest that wins the race crashes or corrupts that backend kernel, crossing the Xen guest-to-host boundary.\nC:H - xenvif_mcast_match() walks fe_mcast_addr under rcu_read_lock() via list_for_each_entry_rcu() and ether_addr_equal() on mcast-\u003eaddr, while xenvif_mcast_addr_list_free() kfree()s those xenvif_mcast_addr nodes with no grace period. A reused node lets the walk follow next pointers into other kernel memory.\nI:H - The freed objects are slab allocations from kzalloc_obj() in xenvif_mcast_add(). xenvif_mcast_match() can still dereference them after kfree() in xenvif_mcast_addr_list_free(), a heap use-after-free in the backend rather than a NULL deref, and XSA-527 treats host privilege escalation from that race as possible.\nA:H - A list walk in xenvif_mcast_match() that follows an fe_mcast_addr node already passed to kfree() by xenvif_mcast_addr_list_free() oopses the backend kernel. XSA-527 describes that fault as a driver crash that can take down the host."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T16:57:39.730Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/96e05a8ce243e2207704e2e7a6e7d1172730f515"
            },
            {
              "url": "https://git.kernel.org/stable/c/0e786123e46d08d2247ce93a5435e45ed9f4c5d1"
            },
            {
              "url": "https://git.kernel.org/stable/c/990d123d9eaa3ac6c979eed245658676d65ce0db"
            },
            {
              "url": "https://git.kernel.org/stable/c/0d515c409033c8e2a645a781be3ca76ab825fc8c"
            },
            {
              "url": "https://git.kernel.org/stable/c/a6bb2f1fa62c56279bdcdadce28d1310c5e12b62"
            },
            {
              "url": "https://git.kernel.org/stable/c/34f0f63dc6dc11895a17bb5672451b6b11622c99"
            },
            {
              "url": "https://git.kernel.org/stable/c/fb38fc58acb26d74fe8f7b19621fafaae3c040ff"
            }
          ],
          "title": "xen-netback: defer xenvif_mcast_addr_list_free()",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-100081",
        "datePublished": "2026-11-06T18:23:02.185Z",
        "dateReserved": "2026-09-25T10:25:14.456Z",
        "dateUpdated": "2026-11-10T16:57:39.730Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99270 (GCVE-0-2026-99270)

    Vulnerability from cvelistv5 – Published: 2026-11-03 12:32 – Updated: 2026-11-10 18:15
    VLAI
    Title
    tcp: Fix potential UAF in reqsk_timer_handler().
    Summary
    In the Linux kernel, the following vulnerability has been resolved: tcp: Fix potential UAF in reqsk_timer_handler(). When TCP socket migration fails at inet_ehash_insert() in reqsk_timer_handler(), we jump to the no_ownership: label and free the new reqsk immediately with __reqsk_free(). Thus, we must stop the new reqsk's timer before jumping to the label, but the timer might be missed since the cited commit, resulting in UAF. As we are in the original reqsk's timer context, we can safely call timer_delete_sync() for the new reqsk. Let's pass false to __inet_csk_reqsk_queue_drop() to stop the new reqsk's timer.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af , < f7fba81b00699360f96ed7d9a47b8c801e74c6f9 (git)
    Affected: 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af , < b3b56e95f6fad7fa7281450b443e861d82616fdb (git)
    Affected: 83fccfc3940c4a2db90fd7e7079f5b465cd8c6af , < 97c8a3c1f73d828de43a5a88e8a9a143efb2b661 (git)
    Affected: d3a1196bfc462943694623412d8e03aaf172bdc1 (git)
    Affected: 4.1.11 , < 4.2 (semver)
    Create a notification for this product.
    Linux Linux Affected: 4.2
    Unaffected: 0 , < 4.2 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.1 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "net/ipv4/inet_connection_sock.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "f7fba81b00699360f96ed7d9a47b8c801e74c6f9",
                  "status": "affected",
                  "version": "83fccfc3940c4a2db90fd7e7079f5b465cd8c6af",
                  "versionType": "git"
                },
                {
                  "lessThan": "b3b56e95f6fad7fa7281450b443e861d82616fdb",
                  "status": "affected",
                  "version": "83fccfc3940c4a2db90fd7e7079f5b465cd8c6af",
                  "versionType": "git"
                },
                {
                  "lessThan": "97c8a3c1f73d828de43a5a88e8a9a143efb2b661",
                  "status": "affected",
                  "version": "83fccfc3940c4a2db90fd7e7079f5b465cd8c6af",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "d3a1196bfc462943694623412d8e03aaf172bdc1",
                  "versionType": "git"
                },
                {
                  "lessThan": "4.2",
                  "status": "affected",
                  "version": "4.1.11",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "net/ipv4/inet_connection_sock.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "4.2"
                },
                {
                  "lessThan": "4.2",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.1",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "4.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "4.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.1",
                      "versionStartIncluding": "4.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.1.11",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntcp: Fix potential UAF in reqsk_timer_handler().\n\nWhen TCP socket migration fails at inet_ehash_insert() in\nreqsk_timer_handler(), we jump to the no_ownership: label\nand free the new reqsk immediately with __reqsk_free().\n\nThus, we must stop the new reqsk\u0027s timer before jumping to the\nlabel, but the timer might be missed since the cited commit,\nresulting in UAF.\n\nAs we are in the original reqsk\u0027s timer context, we can safely\ncall timer_delete_sync() for the new reqsk.\n\nLet\u0027s pass false to __inet_csk_reqsk_queue_drop() to stop\nthe new reqsk\u0027s timer."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:N - A TCP SYN handled by tcp_v4_rcv()/tcp_v6_rcv() \u2192 tcp_conn_request() \u2192 reqsk_queue_hash_req() allocates the request_sock and arms reqsk_timer_handler(); a later ACK on that 4-tuple is processed by tcp_check_req()/inet_ehash_nolisten() and makes inet_ehash_insert(nreq, oreq) fail. Those handshake segments are the attacker-controlled input and they arrive on routable TCP.\nAC:H - The buggy nreq path in reqsk_timer_handler() runs only when inet_sk_state_load(sk_listener)!=TCP_LISTEN and reuseport_migrate_sock() clones the req, which requires a non-default net.ipv4.tcp_migrate_req (default 0) or a BPF_SK_REUSEPORT_SELECT_OR_MIGRATE program plus close/shutdown of the listener. A remote peer cannot create that listener state on demand, even though the subsequent own_req race is attacker-driven.\nPR:N - The SYN is accepted in tcp_conn_request() while the socket is still TCP_NEW_SYN_RECV, before accept() and before any application credential check; reqsk_queue_hash_req() arms the timer with no uid, capability, or session requirement on the peer.\nUI:N - The attacker sends the SYN that creates oreq and the ACK that unhashes it so inet_ehash_insert() fails in reqsk_timer_handler(); no local user must mount, open, or confirm anything.\nS:U - The use-after-free is of the cloned nreq request_sock (rsk_timer, rsk_listener, rsk_ops) in the host kernel\u0027s request_sock slab; it does not cross a VM, IOMMU, or sandbox boundary.\nC:H - On inet_ehash_insert() failure, no_ownership calls __reqsk_free(nreq) while nreq-\u003ersk_timer is still pending, so the next reqsk_timer_handler() reads rsk_listener and rsk_ops from freed memory. Further SYNs allocate from the same tcp_request_sock slab, giving a UAF read of attacker-shaped contents.\nI:H - The leftover nreq timer continues into reqsk_put/__reqsk_free on the already-freed object, decrementing a reused refcount and calling rsk_ops-\u003edestructor from sprayed request_sock memory, which is a UAF write and control-flow primitive.\nA:H - reqsk_timer_handler() running on the freed nreq dereferences a stale rsk_listener or double-frees the slab object in timer softirq, which oopses or panics the kernel for each migrated handshake whose ehash replace fails."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:26.715Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/f7fba81b00699360f96ed7d9a47b8c801e74c6f9"
            },
            {
              "url": "https://git.kernel.org/stable/c/b3b56e95f6fad7fa7281450b443e861d82616fdb"
            },
            {
              "url": "https://git.kernel.org/stable/c/97c8a3c1f73d828de43a5a88e8a9a143efb2b661"
            }
          ],
          "title": "tcp: Fix potential UAF in reqsk_timer_handler().",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99270",
        "datePublished": "2026-11-03T12:32:09.364Z",
        "dateReserved": "2026-09-25T10:25:14.404Z",
        "dateUpdated": "2026-11-10T18:15:26.715Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99172 (GCVE-0-2026-99172)

    Vulnerability from cvelistv5 – Published: 2026-10-28 10:35 – Updated: 2026-11-10 18:15
    VLAI
    Title
    ipc: drop the mqueue mount with kern_unmount() on setup failure
    Summary
    In the Linux kernel, the following vulnerability has been resolved: ipc: drop the mqueue mount with kern_unmount() on setup failure mq_init_ns() creates the mqueue mount with fc_mount_longterm(), so its ->mnt_ns is MNT_NS_INTERNAL. When setting up the mqueue or ipc sysctls or msg_init_ns() fails afterwards, create_ipc_ns() drops it with a plain mntput(). With ->mnt_ns set that takes the fast path of mntput_no_expire(). The count drops to zero and nothing ever kills the mount, so the mount and the mqueue superblock are leaked. Commit dc55e35f9e81 ("ipc: Store mqueue sysctls in the ipc namespace") added the first failure path after mq_init_ns() and never dropped the mount. Commit 7229d74e5e8c ("ipc: create_ipc_ns: drop mqueue mount on sysctl setup failure") tried to fix that with a mntput() but that doesn't help for a long-term mount. Use kern_unmount(). free_ipc() open-codes the same thing for a namespace that made it.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: dc55e35f9e810f23dd69cfdc91a3d636023f57a2 , < 4dd36cf72d2c6c090958c0d7b542fa8211635d2d (git)
    Affected: dc55e35f9e810f23dd69cfdc91a3d636023f57a2 , < 4aef6ceb4d6acacd53bc047ac4849677c3edbec1 (git)
    Affected: dc55e35f9e810f23dd69cfdc91a3d636023f57a2 , < c0620b648321fff654173d238d4a85298ea16d05 (git)
    Affected: dc55e35f9e810f23dd69cfdc91a3d636023f57a2 , < f0e48172a59e517e613b73f73cc35f24fd123aeb (git)
    Create a notification for this product.
    Linux Linux Affected: 5.19
    Unaffected: 0 , < 5.19 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.2.13 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "ipc/namespace.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "4dd36cf72d2c6c090958c0d7b542fa8211635d2d",
                  "status": "affected",
                  "version": "dc55e35f9e810f23dd69cfdc91a3d636023f57a2",
                  "versionType": "git"
                },
                {
                  "lessThan": "4aef6ceb4d6acacd53bc047ac4849677c3edbec1",
                  "status": "affected",
                  "version": "dc55e35f9e810f23dd69cfdc91a3d636023f57a2",
                  "versionType": "git"
                },
                {
                  "lessThan": "c0620b648321fff654173d238d4a85298ea16d05",
                  "status": "affected",
                  "version": "dc55e35f9e810f23dd69cfdc91a3d636023f57a2",
                  "versionType": "git"
                },
                {
                  "lessThan": "f0e48172a59e517e613b73f73cc35f24fd123aeb",
                  "status": "affected",
                  "version": "dc55e35f9e810f23dd69cfdc91a3d636023f57a2",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "ipc/namespace.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.19"
                },
                {
                  "lessThan": "5.19",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.13",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "5.19",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "5.19",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.13",
                      "versionStartIncluding": "5.19",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "5.19",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nipc: drop the mqueue mount with kern_unmount() on setup failure\n\nmq_init_ns() creates the mqueue mount with fc_mount_longterm(), so its\n-\u003emnt_ns is MNT_NS_INTERNAL. When setting up the mqueue or ipc sysctls\nor msg_init_ns() fails afterwards, create_ipc_ns() drops it with a plain\nmntput(). With -\u003emnt_ns set that takes the fast path of\nmntput_no_expire(). The count drops to zero and nothing ever kills the\nmount, so the mount and the mqueue superblock are leaked.\n\nCommit dc55e35f9e81 (\"ipc: Store mqueue sysctls in the ipc namespace\")\nadded the first failure path after mq_init_ns() and never dropped the\nmount. Commit 7229d74e5e8c (\"ipc: create_ipc_ns: drop mqueue mount on\nsysctl setup failure\") tried to fix that with a mntput() but that\ndoesn\u0027t help for a long-term mount.\n\nUse kern_unmount(). free_ipc() open-codes the same thing for a namespace\nthat made it."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:26.226Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/4dd36cf72d2c6c090958c0d7b542fa8211635d2d"
            },
            {
              "url": "https://git.kernel.org/stable/c/4aef6ceb4d6acacd53bc047ac4849677c3edbec1"
            },
            {
              "url": "https://git.kernel.org/stable/c/c0620b648321fff654173d238d4a85298ea16d05"
            },
            {
              "url": "https://git.kernel.org/stable/c/f0e48172a59e517e613b73f73cc35f24fd123aeb"
            }
          ],
          "title": "ipc: drop the mqueue mount with kern_unmount() on setup failure",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99172",
        "datePublished": "2026-10-28T10:35:27.245Z",
        "dateReserved": "2026-09-25T10:25:14.399Z",
        "dateUpdated": "2026-11-10T18:15:26.226Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99146 (GCVE-0-2026-99146)

    Vulnerability from cvelistv5 – Published: 2026-10-28 10:35 – Updated: 2026-11-10 18:15
    VLAI
    Title
    drm/i915/dmc: Add sanity check for DMC load address
    Summary
    In the Linux kernel, the following vulnerability has been resolved: drm/i915/dmc: Add sanity check for DMC load address For DMC firmware header version 3, the firmware load address is stored in dmc_info->start_mmioaddr and later used by dmc_load_program(). Unlike the MMIO address table, the firmware load address is not validated. Add a sanity check to ensure it is within the valid range. BSpec: 69671, 68378 (cherry picked from commit 5e47ee5c76ca9becde8df4ad5202845b7ffcbc4c)
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 3d5928a168a9546b23c6b3439c6158d7a028326c , < fe48b4c48d4131192a10bc6ea526a8a36b345501 (git)
    Affected: 3d5928a168a9546b23c6b3439c6158d7a028326c , < ef82b4d5cb4a3fe77c7f99008d78b8c64709e258 (git)
    Affected: 3d5928a168a9546b23c6b3439c6158d7a028326c , < 2fbd099b4e7c8c4ff70033c5bb950cdbb20838e2 (git)
    Affected: 3d5928a168a9546b23c6b3439c6158d7a028326c , < 7dedc5bb11f95e96fe80757c924d8d9aa7327759 (git)
    Create a notification for this product.
    Linux Linux Affected: 5.15
    Unaffected: 0 , < 5.15 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.59 , ≤ 6.18.* (semver)
    Unaffected: 7.2.13 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/gpu/drm/i915/display/intel_dmc.c",
                "drivers/gpu/drm/i915/display/intel_dmc_regs.h"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "fe48b4c48d4131192a10bc6ea526a8a36b345501",
                  "status": "affected",
                  "version": "3d5928a168a9546b23c6b3439c6158d7a028326c",
                  "versionType": "git"
                },
                {
                  "lessThan": "ef82b4d5cb4a3fe77c7f99008d78b8c64709e258",
                  "status": "affected",
                  "version": "3d5928a168a9546b23c6b3439c6158d7a028326c",
                  "versionType": "git"
                },
                {
                  "lessThan": "2fbd099b4e7c8c4ff70033c5bb950cdbb20838e2",
                  "status": "affected",
                  "version": "3d5928a168a9546b23c6b3439c6158d7a028326c",
                  "versionType": "git"
                },
                {
                  "lessThan": "7dedc5bb11f95e96fe80757c924d8d9aa7327759",
                  "status": "affected",
                  "version": "3d5928a168a9546b23c6b3439c6158d7a028326c",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/gpu/drm/i915/display/intel_dmc.c",
                "drivers/gpu/drm/i915/display/intel_dmc_regs.h"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.15"
                },
                {
                  "lessThan": "5.15",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.59",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.13",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "5.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.59",
                      "versionStartIncluding": "5.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.13",
                      "versionStartIncluding": "5.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "5.15",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/i915/dmc: Add sanity check for DMC load address\n\nFor DMC firmware header version 3, the firmware load address is stored\nin dmc_info-\u003estart_mmioaddr and later used by dmc_load_program().\n\nUnlike the MMIO address table, the firmware load address is not\nvalidated. Add a sanity check to ensure it is within the valid range.\n\nBSpec: 69671, 68378\n(cherry picked from commit 5e47ee5c76ca9becde8df4ad5202845b7ffcbc4c)"
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:25.826Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/fe48b4c48d4131192a10bc6ea526a8a36b345501"
            },
            {
              "url": "https://git.kernel.org/stable/c/ef82b4d5cb4a3fe77c7f99008d78b8c64709e258"
            },
            {
              "url": "https://git.kernel.org/stable/c/2fbd099b4e7c8c4ff70033c5bb950cdbb20838e2"
            },
            {
              "url": "https://git.kernel.org/stable/c/7dedc5bb11f95e96fe80757c924d8d9aa7327759"
            }
          ],
          "title": "drm/i915/dmc: Add sanity check for DMC load address",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99146",
        "datePublished": "2026-10-28T10:35:02.847Z",
        "dateReserved": "2026-09-25T10:25:14.396Z",
        "dateUpdated": "2026-11-10T18:15:25.826Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99122 (GCVE-0-2026-99122)

    Vulnerability from cvelistv5 – Published: 2026-10-28 10:34 – Updated: 2026-11-10 18:15
    VLAI
    Title
    vsock/vmci: validate packet source for connected sockets
    Summary
    In the Linux kernel, the following vulnerability has been resolved: vsock/vmci: validate packet source for connected sockets vmci_transport_recv_stream_cb() looks up sockets first by the full source and destination tuple, then by destination only in the bound table. The fallback can select a non-listening socket without checking whether the packet came from its stored peer. This was reproduced with two VMCI contexts. A RST from the context not stored in a TCP_SYN_SENT socket reset that socket after it was selected by the destination-only lookup. VMCI can process notification packets in bottom-half context when the socket is not owned by user context, or defer packets to a workqueue. Use vsock_check_source() after taking the socket lock in the bottom-half path, and recheck after lock_sock() in the workqueue path. Listening sockets continue to accept packets from any source. Reply with a RST addressed from the received packet before dropping a source that fails validation. This preserves the existing reset behavior for bound non-listening and concurrently closed sockets without directing the reset to a connected socket's stored peer.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: d021c344051af91f42c5ba9fdedc176740cbd238 , < cdd1f99eaa4d4db82d506eb50e724460671c7cac (git)
    Affected: d021c344051af91f42c5ba9fdedc176740cbd238 , < c027f8b429dbb2157fc1b503df196e272d947c89 (git)
    Affected: d021c344051af91f42c5ba9fdedc176740cbd238 , < 90c423b62ec9be08177f74b07a47937ca8d2035b (git)
    Affected: d021c344051af91f42c5ba9fdedc176740cbd238 , < ad9a7da3fa39c2d616ec0dd3cf6e30531d032fe7 (git)
    Create a notification for this product.
    Linux Linux Affected: 3.9
    Unaffected: 0 , < 3.9 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.59 , ≤ 6.18.* (semver)
    Unaffected: 7.2.13 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "net/vmw_vsock/vmci_transport.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "cdd1f99eaa4d4db82d506eb50e724460671c7cac",
                  "status": "affected",
                  "version": "d021c344051af91f42c5ba9fdedc176740cbd238",
                  "versionType": "git"
                },
                {
                  "lessThan": "c027f8b429dbb2157fc1b503df196e272d947c89",
                  "status": "affected",
                  "version": "d021c344051af91f42c5ba9fdedc176740cbd238",
                  "versionType": "git"
                },
                {
                  "lessThan": "90c423b62ec9be08177f74b07a47937ca8d2035b",
                  "status": "affected",
                  "version": "d021c344051af91f42c5ba9fdedc176740cbd238",
                  "versionType": "git"
                },
                {
                  "lessThan": "ad9a7da3fa39c2d616ec0dd3cf6e30531d032fe7",
                  "status": "affected",
                  "version": "d021c344051af91f42c5ba9fdedc176740cbd238",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "net/vmw_vsock/vmci_transport.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "3.9"
                },
                {
                  "lessThan": "3.9",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.59",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.13",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "3.9",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.59",
                      "versionStartIncluding": "3.9",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.13",
                      "versionStartIncluding": "3.9",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "3.9",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nvsock/vmci: validate packet source for connected sockets\n\nvmci_transport_recv_stream_cb() looks up sockets first by the full source\nand destination tuple, then by destination only in the bound table. The\nfallback can select a non-listening socket without checking whether the\npacket came from its stored peer.\n\nThis was reproduced with two VMCI contexts. A RST from the context not\nstored in a TCP_SYN_SENT socket reset that socket after it was selected by\nthe destination-only lookup.\n\nVMCI can process notification packets in bottom-half context when the\nsocket is not owned by user context, or defer packets to a workqueue. Use\nvsock_check_source() after taking the socket lock in the bottom-half path,\nand recheck after lock_sock() in the workqueue path. Listening sockets\ncontinue to accept packets from any source.\n\nReply with a RST addressed from the received packet before dropping a\nsource that fails validation. This preserves the existing reset behavior\nfor bound non-listening and concurrently closed sockets without directing\nthe reset to a connected socket\u0027s stored peer."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.3,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:L - A local VMCI endpoint supplies the forged control datagram through IOCTL_VMCI_DATAGRAM_SEND, reaching vmci_datagram_dispatch() and the patched vmci_transport_recv_stream_cb(); vsock is therefore Local rather than a routable network vector.\nAC:L - vsock_diag_dump() exposes socket CIDs, ports, and state without an authorization check, after which a chosen RST deterministically misses vsock_find_connected_socket() and reaches the victim through vsock_find_bound_socket(); no race or uncontrolled condition is required.\nPR:L - vmci_host_open(), IOCTL_VMCI_INIT_CONTEXT, and IOCTL_VMCI_DATAGRAM_SEND contain no capability check, allowing a low-privilege VMX/local process with ordinary VMCI-device access to create an unrestricted context and submit the packet.\nUI:N - After the victim process has an ordinary bound connecting or established socket, the attacker\u0027s datagram alone drives vmci_transport_recv_pkt_work() and the reset handler; no victim user action is required.\nS:C - A packet owned by an attacker-controlled guest/VMX VMCI context is applied to a host-context socket by vmci_transport_recv_connecting_client() or vmci_transport_recv_connected(), crossing the VMCI virtualization or VMM-sandbox boundary.\nC:L - On an established socket, a forged WAITING_READ reaches vmci_transport_handle_waiting_read(), which conditionally returns WROTE to the foreign source based on vmci_qpair_produce_buf_ready(); this exposes limited queue-occupancy and traffic-state information, not payload bytes.\nI:N - The demonstrated RST and forged notification paths do not write application payloads, alter the intended VMCI queue pair, or corrupt memory; their changes to sk_state, peer_shutdown, and notification flags implement connection disruption rather than data modification.\nA:H - vmci_transport_recv_connecting_client() sets TCP_CLOSE and ECONNRESET, while vmci_transport_recv_connected() sets SOCK_DONE, SHUTDOWN_MASK, and TCP_CLOSING. Because tuples can be re-enumerated and RST injection repeated, the attacker can continuously terminate targeted VMCI client connections and fully deny their service."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:25.472Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/cdd1f99eaa4d4db82d506eb50e724460671c7cac"
            },
            {
              "url": "https://git.kernel.org/stable/c/c027f8b429dbb2157fc1b503df196e272d947c89"
            },
            {
              "url": "https://git.kernel.org/stable/c/90c423b62ec9be08177f74b07a47937ca8d2035b"
            },
            {
              "url": "https://git.kernel.org/stable/c/ad9a7da3fa39c2d616ec0dd3cf6e30531d032fe7"
            }
          ],
          "title": "vsock/vmci: validate packet source for connected sockets",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99122",
        "datePublished": "2026-10-28T10:34:37.859Z",
        "dateReserved": "2026-09-25T10:25:14.393Z",
        "dateUpdated": "2026-11-10T18:15:25.472Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99109 (GCVE-0-2026-99109)

    Vulnerability from cvelistv5 – Published: 2026-10-28 10:34 – Updated: 2026-11-10 18:15
    VLAI
    Title
    smb: client: reject SetEA requests that do not fit the request buffer
    Summary
    In the Linux kernel, the following vulnerability has been resolved: smb: client: reject SetEA requests that do not fit the request buffer CIFSSMBSetEA() copies the caller's extended attribute value into the SMB request buffer without checking that it fits. The requirement is stated in the source but was never implemented: /*BB add length check to see if it would fit in negotiated SMB buffer size BB */ /* if (ea_value_len > buffer_size - 512 (enough for header)) */ if (ea_value_len) memcpy(parm_data->list.name + name_len + 1, ea_value, ea_value_len); The only bound applied on the way in is in cifs_xattr_set(): #define MAX_EA_VALUE_SIZE CIFSMaxBufSize ... if (size > MAX_EA_VALUE_SIZE) CIFSMaxBufSize is the full payload capacity of the buffer, so a value of exactly that size leaves no room for the SMB header, the TRANS2 parameter block, the fealist header and the EA name that are written ahead of it in the same object. SendReceive() already enforces the correct limit on this very length: if (in_len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE) but it is called after the copy has taken place. An unprivileged setxattr(2) on an SMB1 mount with a 250-byte name and a 16384-byte value writes 16384 bytes starting 345 bytes into a 16588-byte cifs_request object, ending 141 bytes past it: BUG: KASAN: slab-out-of-bounds in CIFSSMBSetEA+0xabc/0xde0 Write of size 16384 at addr ffff888003aa0159 by task init/68 __asan_memcpy+0x3c/0x60 CIFSSMBSetEA+0xabc/0xde0 cifs_xattr_set+0xd3a/0xff0 __vfs_setxattr+0x13e/0x1a0 The buggy address is located 345 bytes inside of allocated 16588-byte region Apply SendReceive()'s limit to the assembled request before the copy rather than after it, and widen the byte counters so the sum cannot wrap before it is tested. byte_count is also tested against U16_MAX, because it is stored in the 16-bit pSMB->ByteCount. That becomes reachable when CIFSMaxBufSize is raised at module load, where it may be set as high as 1024*127: with a 5-byte EA name and a 65521-byte value, count is exactly U16_MAX while byte_count is 65556, and cpu_to_le16() would truncate it to 20 and transmit a frame whose ByteCount does not match its length. Testing byte_count covers count as well, since byte_count is the larger of the two and count's only 16-bit consumer is written after this point. check_add_overflow() is evaluated first so that total_len is assigned before it is reported.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < bc737f5f5cc3fcd10bd919527cacc0efd703c30b (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 79345a5d14b851e9ed28d3a9fe53301661dbcf11 (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 9efbd764ab80fa86d2258550877a74d78a25e855 (git)
    Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 4aa2c106aef4bf3dfd97c30842db0767b26e8428 (git)
    Create a notification for this product.
    Linux Linux Affected: 2.6.12
    Unaffected: 0 , < 2.6.12 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.2.13 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/smb/client/cifssmb.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "bc737f5f5cc3fcd10bd919527cacc0efd703c30b",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "79345a5d14b851e9ed28d3a9fe53301661dbcf11",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "9efbd764ab80fa86d2258550877a74d78a25e855",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                },
                {
                  "lessThan": "4aa2c106aef4bf3dfd97c30842db0767b26e8428",
                  "status": "affected",
                  "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/smb/client/cifssmb.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "2.6.12"
                },
                {
                  "lessThan": "2.6.12",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.13",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "2.6.12",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "2.6.12",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.13",
                      "versionStartIncluding": "2.6.12",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "2.6.12",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: reject SetEA requests that do not fit the request buffer\n\nCIFSSMBSetEA() copies the caller\u0027s extended attribute value into the\nSMB request buffer without checking that it fits.  The requirement is\nstated in the source but was never implemented:\n\n\t/*BB add length check to see if it would fit in\n\t     negotiated SMB buffer size BB */\n\t/* if (ea_value_len \u003e buffer_size - 512 (enough for header)) */\n\tif (ea_value_len)\n\t\tmemcpy(parm_data-\u003elist.name + name_len + 1,\n\t\t       ea_value, ea_value_len);\n\nThe only bound applied on the way in is in cifs_xattr_set():\n\n\t#define MAX_EA_VALUE_SIZE CIFSMaxBufSize\n\t...\n\tif (size \u003e MAX_EA_VALUE_SIZE)\n\nCIFSMaxBufSize is the full payload capacity of the buffer, so a value\nof exactly that size leaves no room for the SMB header, the TRANS2\nparameter block, the fealist header and the EA name that are written\nahead of it in the same object.\n\nSendReceive() already enforces the correct limit on this very length:\n\n\tif (in_len \u003e CIFSMaxBufSize + MAX_CIFS_HDR_SIZE)\n\nbut it is called after the copy has taken place.  An unprivileged\nsetxattr(2) on an SMB1 mount with a 250-byte name and a 16384-byte\nvalue writes 16384 bytes starting 345 bytes into a 16588-byte\ncifs_request object, ending 141 bytes past it:\n\n  BUG: KASAN: slab-out-of-bounds in CIFSSMBSetEA+0xabc/0xde0\n  Write of size 16384 at addr ffff888003aa0159 by task init/68\n   __asan_memcpy+0x3c/0x60\n   CIFSSMBSetEA+0xabc/0xde0\n   cifs_xattr_set+0xd3a/0xff0\n   __vfs_setxattr+0x13e/0x1a0\n  The buggy address is located 345 bytes inside of\n   allocated 16588-byte region\n\nApply SendReceive()\u0027s limit to the assembled request before the copy\nrather than after it, and widen the byte counters so the sum cannot\nwrap before it is tested.\n\nbyte_count is also tested against U16_MAX, because it is stored in the\n16-bit pSMB-\u003eByteCount.  That becomes reachable when CIFSMaxBufSize is\nraised at module load, where it may be set as high as 1024*127: with a\n5-byte EA name and a 65521-byte value, count is exactly U16_MAX while\nbyte_count is 65556, and cpu_to_le16() would truncate it to 20 and\ntransmit a frame whose ByteCount does not match its length.  Testing\nbyte_count covers count as well, since byte_count is the larger of the\ntwo and count\u0027s only 16-bit consumer is written after this point.\n\ncheck_add_overflow() is evaluated first so that total_len is assigned\nbefore it is reported."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:L - The attacker-controlled bytes originate in setxattr(2): path_setxattrat() copies the local value, then cifs_xattr_set() calls SMB1\u0027s CIFSSMBSetEA(), whose memcpy overflows the request before any SMB response is processed.\nAC:L - On an existing vers=1.0 mount, the caller can deterministically choose a user.* suffix up to 250 bytes and a value up to CIFSMaxBufSize; CIFSSMBSetEA() performs the oversized memcpy before SendReceive() checks in_len, with no race or server-controlled condition.\nPR:L - vfs_setxattr() calls xattr_permission() with MAY_WRITE, and a user.* attribute requires only write permission on the CIFS inode; although creating the mount requires init-namespace CAP_SYS_ADMIN, exploiting an existing writable mount requires no capability.\nUI:N - The attacker invokes setxattr(2) themselves on a writable file in the already-mounted share; no other user must open a file, approve a prompt, or perform a mount during exploitation.\nS:U - The overwrite occurs in the client kernel\u0027s cifs_request allocation returned by cifs_buf_get() and affects that same kernel security authority, without crossing a VM, IOMMU, or sandbox boundary.\nC:H - CIFSSMBSetEA() copies attacker-chosen ea_value bytes beyond the cifs_request object; grooming concurrent allocations can turn corruption of adjacent request or allocator state into control-flow execution and arbitrary kernel-memory disclosure.\nI:H - The vulnerable memcpy provides a contiguous attacker-controlled heap overwrite; the reproduced 16384-byte copy starts at offset 345 and ends 141 bytes beyond the 16588-byte cifs_request, enabling adjacent-object corruption and control-flow hijacking.\nA:H - The reproduced setxattr(2) triggers a KASAN slab-out-of-bounds fault in CIFSSMBSetEA(); hitting guarded memory or corrupting request or allocator state can oops or panic the kernel, and the caller can repeat the syscall."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:24.796Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/bc737f5f5cc3fcd10bd919527cacc0efd703c30b"
            },
            {
              "url": "https://git.kernel.org/stable/c/79345a5d14b851e9ed28d3a9fe53301661dbcf11"
            },
            {
              "url": "https://git.kernel.org/stable/c/9efbd764ab80fa86d2258550877a74d78a25e855"
            },
            {
              "url": "https://git.kernel.org/stable/c/4aa2c106aef4bf3dfd97c30842db0767b26e8428"
            }
          ],
          "title": "smb: client: reject SetEA requests that do not fit the request buffer",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99109",
        "datePublished": "2026-10-28T10:34:27.507Z",
        "dateReserved": "2026-09-25T10:25:14.391Z",
        "dateUpdated": "2026-11-10T18:15:24.796Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99087 (GCVE-0-2026-99087)

    Vulnerability from cvelistv5 – Published: 2026-10-23 12:45 – Updated: 2026-11-10 18:15
    VLAI
    Title
    dm-integrity: fix NULL pointer dereference when the 'R' flag is used
    Summary
    In the Linux kernel, the following vulnerability has been resolved: dm-integrity: fix NULL pointer dereference when the 'R' flag is used If the dm-integrity device has the SB_FLAG_DIRTY_BITMAP flag set and the user activates the device in the 'R' mode, a crash in dm_integrity_resume happens because the function attempts to read the journal containing the bitmap. This patch makes dm-integrity skip any writes to the device in dm_integrity_resume if the device is activated in the 'R' mode.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 468dfca38b1a6fbdccd195d875599cb7c8875cd9 , < 73e5b7b14df0430ef2135e9bd9fa3f5b253ef789 (git)
    Affected: 468dfca38b1a6fbdccd195d875599cb7c8875cd9 , < 2e25842f0e4423e0efb243f56153d842ed6b933f (git)
    Affected: 468dfca38b1a6fbdccd195d875599cb7c8875cd9 , < 69ed43ed8a174465fca1ba6bfbde53e4618c8956 (git)
    Affected: 468dfca38b1a6fbdccd195d875599cb7c8875cd9 , < 7d4d4f3b668d708d94f62ecdd33ac330a6fd8a84 (git)
    Create a notification for this product.
    Linux Linux Affected: 5.2
    Unaffected: 0 , < 5.2 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.58 , ≤ 6.18.* (semver)
    Unaffected: 7.2.12 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/md/dm-integrity.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "73e5b7b14df0430ef2135e9bd9fa3f5b253ef789",
                  "status": "affected",
                  "version": "468dfca38b1a6fbdccd195d875599cb7c8875cd9",
                  "versionType": "git"
                },
                {
                  "lessThan": "2e25842f0e4423e0efb243f56153d842ed6b933f",
                  "status": "affected",
                  "version": "468dfca38b1a6fbdccd195d875599cb7c8875cd9",
                  "versionType": "git"
                },
                {
                  "lessThan": "69ed43ed8a174465fca1ba6bfbde53e4618c8956",
                  "status": "affected",
                  "version": "468dfca38b1a6fbdccd195d875599cb7c8875cd9",
                  "versionType": "git"
                },
                {
                  "lessThan": "7d4d4f3b668d708d94f62ecdd33ac330a6fd8a84",
                  "status": "affected",
                  "version": "468dfca38b1a6fbdccd195d875599cb7c8875cd9",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/md/dm-integrity.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.2"
                },
                {
                  "lessThan": "5.2",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.58",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.12",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "5.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.58",
                      "versionStartIncluding": "5.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.12",
                      "versionStartIncluding": "5.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "5.2",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndm-integrity: fix NULL pointer dereference when the \u0027R\u0027 flag is used\n\nIf the dm-integrity device has the SB_FLAG_DIRTY_BITMAP flag set and the\nuser activates the device in the \u0027R\u0027 mode, a crash in dm_integrity_resume\nhappens because the function attempts to read the journal containing the\nbitmap.\n\nThis patch makes dm-integrity skip any writes to the device in\ndm_integrity_resume if the device is activated in the \u0027R\u0027 mode."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:24.425Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/73e5b7b14df0430ef2135e9bd9fa3f5b253ef789"
            },
            {
              "url": "https://git.kernel.org/stable/c/2e25842f0e4423e0efb243f56153d842ed6b933f"
            },
            {
              "url": "https://git.kernel.org/stable/c/69ed43ed8a174465fca1ba6bfbde53e4618c8956"
            },
            {
              "url": "https://git.kernel.org/stable/c/7d4d4f3b668d708d94f62ecdd33ac330a6fd8a84"
            }
          ],
          "title": "dm-integrity: fix NULL pointer dereference when the \u0027R\u0027 flag is used",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99087",
        "datePublished": "2026-10-23T12:45:05.714Z",
        "dateReserved": "2026-09-25T10:25:14.390Z",
        "dateUpdated": "2026-11-10T18:15:24.425Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99086 (GCVE-0-2026-99086)

    Vulnerability from cvelistv5 – Published: 2026-10-23 12:45 – Updated: 2026-11-10 18:15
    VLAI
    Title
    dm-integrity: validate the superblock on resume
    Summary
    In the Linux kernel, the following vulnerability has been resolved: dm-integrity: validate the superblock on resume dm_integrity_resume() re-reads the superblock from the device so that it picks up the flags and the recalculate position. It performs no validation on the result, while the constructor validates the superblock it reads and sizes all the in-memory structures according to it. The user may modify the superblock on the underlying device while the dm-integrity device is suspended, so that the two no longer agree. In particular, access_journal_data() shifts the journal entry index by ic->sb->log2_sectors_per_block, while ic->journal_section_sectors and the journal page list were computed with the value that was present at constructor time. Increasing log2_sectors_per_block makes the index run past the end of the journal, and dm-integrity then writes 512 bytes through lowmem_page_address(NULL). Snapshot the validated superblock in the constructor and refuse to resume if any of the fields that describe the on-disk geometry changed.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: c6138af1f5454c2631a837916fda958ea72c0d71 , < 0499b6d1c9d4477d6538b88c30f9d0c1a28b3e75 (git)
    Affected: 38625191f32f77a9d5fc7cc15f4f9b78768bfb33 , < 454b67fcc28c18502e47dfb9f067b04c28628ada (git)
    Affected: 118ba36e446c01e3cd34b3eedabf1d9436525e1d , < e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e (git)
    Affected: 118ba36e446c01e3cd34b3eedabf1d9436525e1d , < fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2 (git)
    Affected: 824b9c27d7b600520b95f0cab95a47d1b08a9483 (git)
    Affected: fb49f209995f729053c6ee728436f98d78a49b6f (git)
    Affected: 3ff70e2e31c419e2230d0c66cb2bfb3b1b414b7f (git)
    Affected: 6.12.75 , < 6.12.117 (semver)
    Affected: 6.18.16 , < 6.18.58 (semver)
    Affected: 6.1.165 , < 6.2 (semver)
    Affected: 6.6.128 , < 6.7 (semver)
    Affected: 6.19.6 , < 6.20 (semver)
    Create a notification for this product.
    Linux Linux Affected: 7.0
    Unaffected: 0 , < 7.0 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.58 , ≤ 6.18.* (semver)
    Unaffected: 7.2.12 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/md/dm-integrity.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "0499b6d1c9d4477d6538b88c30f9d0c1a28b3e75",
                  "status": "affected",
                  "version": "c6138af1f5454c2631a837916fda958ea72c0d71",
                  "versionType": "git"
                },
                {
                  "lessThan": "454b67fcc28c18502e47dfb9f067b04c28628ada",
                  "status": "affected",
                  "version": "38625191f32f77a9d5fc7cc15f4f9b78768bfb33",
                  "versionType": "git"
                },
                {
                  "lessThan": "e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e",
                  "status": "affected",
                  "version": "118ba36e446c01e3cd34b3eedabf1d9436525e1d",
                  "versionType": "git"
                },
                {
                  "lessThan": "fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2",
                  "status": "affected",
                  "version": "118ba36e446c01e3cd34b3eedabf1d9436525e1d",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "824b9c27d7b600520b95f0cab95a47d1b08a9483",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "fb49f209995f729053c6ee728436f98d78a49b6f",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "3ff70e2e31c419e2230d0c66cb2bfb3b1b414b7f",
                  "versionType": "git"
                },
                {
                  "lessThan": "6.12.117",
                  "status": "affected",
                  "version": "6.12.75",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.18.58",
                  "status": "affected",
                  "version": "6.18.16",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.2",
                  "status": "affected",
                  "version": "6.1.165",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.7",
                  "status": "affected",
                  "version": "6.6.128",
                  "versionType": "semver"
                },
                {
                  "lessThan": "6.20",
                  "status": "affected",
                  "version": "6.19.6",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/md/dm-integrity.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "7.0"
                },
                {
                  "lessThan": "7.0",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.58",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.12",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "6.12.75",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.58",
                      "versionStartIncluding": "6.18.16",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.12",
                      "versionStartIncluding": "7.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "7.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "6.1.165",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "6.6.128",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "6.19.6",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndm-integrity: validate the superblock on resume\n\ndm_integrity_resume() re-reads the superblock from the device so that it\npicks up the flags and the recalculate position. It performs no\nvalidation on the result, while the constructor validates the superblock\nit reads and sizes all the in-memory structures according to it. The user\nmay modify the superblock on the underlying device while the dm-integrity\ndevice is suspended, so that the two no longer agree.\n\nIn particular, access_journal_data() shifts the journal entry index by\nic-\u003esb-\u003elog2_sectors_per_block, while ic-\u003ejournal_section_sectors and the\njournal page list were computed with the value that was present at\nconstructor time. Increasing log2_sectors_per_block makes the index run\npast the end of the journal, and dm-integrity then writes 512 bytes\nthrough lowmem_page_address(NULL).\n\nSnapshot the validated superblock in the constructor and refuse to resume\nif any of the fields that describe the on-disk geometry changed."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:23.819Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/0499b6d1c9d4477d6538b88c30f9d0c1a28b3e75"
            },
            {
              "url": "https://git.kernel.org/stable/c/454b67fcc28c18502e47dfb9f067b04c28628ada"
            },
            {
              "url": "https://git.kernel.org/stable/c/e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e"
            },
            {
              "url": "https://git.kernel.org/stable/c/fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2"
            }
          ],
          "title": "dm-integrity: validate the superblock on resume",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99086",
        "datePublished": "2026-10-23T12:45:04.496Z",
        "dateReserved": "2026-09-25T10:25:14.390Z",
        "dateUpdated": "2026-11-10T18:15:23.819Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99076 (GCVE-0-2026-99076)

    Vulnerability from cvelistv5 – Published: 2026-10-23 12:23 – Updated: 2026-11-10 18:15
    VLAI
    Title
    ipv6: udp: Create exceptions before socket matching
    Summary
    In the Linux kernel, the following vulnerability has been resolved: ipv6: udp: Create exceptions before socket matching Currently, when ICMPv6 Packet Too Big and Redirect Message packets are locally delivered and quote a UDP packet, an exception is only created in the IPv6 exception cache if the kernel can match the UDP packet to an existing socket. This behavior allows off-path attackers to conduct a side-channel attack on the exception cache in order to discover the ephemeral port used by a connected UDP socket. Commit 4785305c05b2 ("ipv6: use siphash in rt6_exception_hash()") and commit a00df2caffed ("ipv6: make exception cache less predictible") tried to mitigate such attacks by making it harder for attackers to discover hash collisions in the exception cache and by randomizing the number of exceptions a hash bucket can hold, respectively. Unfortunately, both of the mitigations can be bypassed. Instead, mitigate such attacks by always creating an exception, even before trying to find a matching socket. Do that by calling ip6_update_pmtu() and ip6_redirect(), the helpers used when the quoted packet did not originate from a socket. This means that guesses (right or wrong) from an off-path attacker will always result in an exception being created or updated in the cache that the attacker can observe. Pass the ifindex of the ingress device and the default uid, in a similar fashion to icmpv6_err(). Unlike IPv4, an oif of 0 would not match any nexthop in ip6_redirect_nh_match() and no exception would be created in response to a Redirect Message. Note that this does not allow attackers to create exceptions that they could not create before, as both helpers can already be reached with little to no validation. For example, by sending an ICMPv6 error that quotes an ICMPv6 Echo Reply or one that quotes a UDP source port that matches a wildcard socket. Also note that in the good case (matched socket) the above scheme comes at the cost of an extra route lookup, as the no socket helpers perform their own lookup before the one performed by ip6_sk_update_pmtu() / ip6_sk_redirect(). When the two resolve to different nexthops, it also results in two exceptions being created for the same destination IP. One in the exception cache of the nexthop resolved by the no socket helpers and another in the exception cache of the nexthop used by the socket.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 2b760fcf5cfb34e8610df56d83745b2b74ae1379 , < 9b88f0fcbd4b746de0478b4fd99fa495eb26b857 (git)
    Affected: 2b760fcf5cfb34e8610df56d83745b2b74ae1379 , < fc1fc874ceed4db566a5efbff39313d3d91d424a (git)
    Affected: 2b760fcf5cfb34e8610df56d83745b2b74ae1379 , < 8c9b310c958be33ba8fb9d0e6b77811d013e10c0 (git)
    Affected: 2b760fcf5cfb34e8610df56d83745b2b74ae1379 , < ac76cab50e899a7346408b8d3c3a4192c2eefb9f (git)
    Create a notification for this product.
    Linux Linux Affected: 4.15
    Unaffected: 0 , < 4.15 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.2.11 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "net/ipv6/udp.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "9b88f0fcbd4b746de0478b4fd99fa495eb26b857",
                  "status": "affected",
                  "version": "2b760fcf5cfb34e8610df56d83745b2b74ae1379",
                  "versionType": "git"
                },
                {
                  "lessThan": "fc1fc874ceed4db566a5efbff39313d3d91d424a",
                  "status": "affected",
                  "version": "2b760fcf5cfb34e8610df56d83745b2b74ae1379",
                  "versionType": "git"
                },
                {
                  "lessThan": "8c9b310c958be33ba8fb9d0e6b77811d013e10c0",
                  "status": "affected",
                  "version": "2b760fcf5cfb34e8610df56d83745b2b74ae1379",
                  "versionType": "git"
                },
                {
                  "lessThan": "ac76cab50e899a7346408b8d3c3a4192c2eefb9f",
                  "status": "affected",
                  "version": "2b760fcf5cfb34e8610df56d83745b2b74ae1379",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "net/ipv6/udp.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "4.15"
                },
                {
                  "lessThan": "4.15",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.11",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "4.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "4.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.11",
                      "versionStartIncluding": "4.15",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "4.15",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: udp: Create exceptions before socket matching\n\nCurrently, when ICMPv6 Packet Too Big and Redirect Message packets are\nlocally delivered and quote a UDP packet, an exception is only created\nin the IPv6 exception cache if the kernel can match the UDP packet to an\nexisting socket.\n\nThis behavior allows off-path attackers to conduct a side-channel attack\non the exception cache in order to discover the ephemeral port used by a\nconnected UDP socket.\n\nCommit 4785305c05b2 (\"ipv6: use siphash in rt6_exception_hash()\") and\ncommit a00df2caffed (\"ipv6: make exception cache less predictible\") tried\nto mitigate such attacks by making it harder for attackers to discover\nhash collisions in the exception cache and by randomizing the number of\nexceptions a hash bucket can hold, respectively. Unfortunately, both of\nthe mitigations can be bypassed.\n\nInstead, mitigate such attacks by always creating an exception, even\nbefore trying to find a matching socket. Do that by calling\nip6_update_pmtu() and ip6_redirect(), the helpers used when the quoted\npacket did not originate from a socket.\n\nThis means that guesses (right or wrong) from an off-path attacker will\nalways result in an exception being created or updated in the cache that\nthe attacker can observe.\n\nPass the ifindex of the ingress device and the default uid, in a similar\nfashion to icmpv6_err(). Unlike IPv4, an oif of 0 would not match any\nnexthop in ip6_redirect_nh_match() and no exception would be created in\nresponse to a Redirect Message.\n\nNote that this does not allow attackers to create exceptions that they\ncould not create before, as both helpers can already be reached with\nlittle to no validation. For example, by sending an ICMPv6 error that\nquotes an ICMPv6 Echo Reply or one that quotes a UDP source port that\nmatches a wildcard socket.\n\nAlso note that in the good case (matched socket) the above scheme comes\nat the cost of an extra route lookup, as the no socket helpers perform\ntheir own lookup before the one performed by ip6_sk_update_pmtu() /\nip6_sk_redirect(). When the two resolve to different nexthops, it also\nresults in two exceptions being created for the same destination IP. One\nin the exception cache of the nexthop resolved by the no socket helpers\nand another in the exception cache of the nexthop used by the socket."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:23.412Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/9b88f0fcbd4b746de0478b4fd99fa495eb26b857"
            },
            {
              "url": "https://git.kernel.org/stable/c/fc1fc874ceed4db566a5efbff39313d3d91d424a"
            },
            {
              "url": "https://git.kernel.org/stable/c/8c9b310c958be33ba8fb9d0e6b77811d013e10c0"
            },
            {
              "url": "https://git.kernel.org/stable/c/ac76cab50e899a7346408b8d3c3a4192c2eefb9f"
            }
          ],
          "title": "ipv6: udp: Create exceptions before socket matching",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99076",
        "datePublished": "2026-10-23T12:23:19.727Z",
        "dateReserved": "2026-09-25T10:25:14.389Z",
        "dateUpdated": "2026-11-10T18:15:23.412Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99026 (GCVE-0-2026-99026)

    Vulnerability from cvelistv5 – Published: 2026-10-23 12:21 – Updated: 2026-11-10 18:15
    VLAI
    Title
    net: team: free skb when broadcast has no txable port
    Summary
    In the Linux kernel, the following vulnerability has been resolved: net: team: free skb when broadcast has no txable port bc_transmit() sends the original skb through the last txable port. When no port is txable, it returns false without consuming the skb, but team_xmit() still returns NETDEV_TX_OK. AF_PACKET sends then retain the skb and its socket write-memory charge. A TX-enabled, link-down port keeps the broadcast transmit op installed. Carrier can stay up through a second link-up, TX-disabled port or be forced on by userspace. Free the original skb on the no-port path while leaving the existing drop accounting intact. Discovered by Sashiko during review of previous commit.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 5fc889911a99043a97da1daa0d010ad72cbc3042 , < aec1d35d76ad883bae83c24707010115f38d02ac (git)
    Affected: 5fc889911a99043a97da1daa0d010ad72cbc3042 , < 961563117626f4681623077ec0cfd86f86da0d49 (git)
    Affected: 5fc889911a99043a97da1daa0d010ad72cbc3042 , < f34b1bcac4581a5bd3daf9eff90f175e736b54aa (git)
    Affected: 5fc889911a99043a97da1daa0d010ad72cbc3042 , < 489114c9ecae44e523361a4b3e610ee5ebd9189c (git)
    Create a notification for this product.
    Linux Linux Affected: 3.6
    Unaffected: 0 , < 3.6 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.57 , ≤ 6.18.* (semver)
    Unaffected: 7.2.11 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/team/team_mode_broadcast.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "aec1d35d76ad883bae83c24707010115f38d02ac",
                  "status": "affected",
                  "version": "5fc889911a99043a97da1daa0d010ad72cbc3042",
                  "versionType": "git"
                },
                {
                  "lessThan": "961563117626f4681623077ec0cfd86f86da0d49",
                  "status": "affected",
                  "version": "5fc889911a99043a97da1daa0d010ad72cbc3042",
                  "versionType": "git"
                },
                {
                  "lessThan": "f34b1bcac4581a5bd3daf9eff90f175e736b54aa",
                  "status": "affected",
                  "version": "5fc889911a99043a97da1daa0d010ad72cbc3042",
                  "versionType": "git"
                },
                {
                  "lessThan": "489114c9ecae44e523361a4b3e610ee5ebd9189c",
                  "status": "affected",
                  "version": "5fc889911a99043a97da1daa0d010ad72cbc3042",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/net/team/team_mode_broadcast.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "3.6"
                },
                {
                  "lessThan": "3.6",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.57",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.11",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "3.6",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.57",
                      "versionStartIncluding": "3.6",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.11",
                      "versionStartIncluding": "3.6",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "3.6",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: team: free skb when broadcast has no txable port\n\nbc_transmit() sends the original skb through the last txable port.\nWhen no port is txable, it returns false without consuming the skb, but\nteam_xmit() still returns NETDEV_TX_OK. AF_PACKET sends then retain the\nskb and its socket write-memory charge.\n\nA TX-enabled, link-down port keeps the broadcast transmit op installed.\nCarrier can stay up through a second link-up, TX-disabled port or be\nforced on by userspace. Free the original skb on the no-port path while\nleaving the existing drop accounting intact.\n\nDiscovered by Sashiko during review of previous commit."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:22.929Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/aec1d35d76ad883bae83c24707010115f38d02ac"
            },
            {
              "url": "https://git.kernel.org/stable/c/961563117626f4681623077ec0cfd86f86da0d49"
            },
            {
              "url": "https://git.kernel.org/stable/c/f34b1bcac4581a5bd3daf9eff90f175e736b54aa"
            },
            {
              "url": "https://git.kernel.org/stable/c/489114c9ecae44e523361a4b3e610ee5ebd9189c"
            }
          ],
          "title": "net: team: free skb when broadcast has no txable port",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99026",
        "datePublished": "2026-10-23T12:21:13.509Z",
        "dateReserved": "2026-09-25T10:25:14.386Z",
        "dateUpdated": "2026-11-10T18:15:22.929Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-99021 (GCVE-0-2026-99021)

    Vulnerability from cvelistv5 – Published: 2026-10-23 12:21 – Updated: 2026-11-10 18:15
    VLAI
    Title
    regulator: of: fill in supply names in of_regulator_bulk_get_all()
    Summary
    In the Linux kernel, the following vulnerability has been resolved: regulator: of: fill in supply names in of_regulator_bulk_get_all() of_regulator_bulk_get_all() returns an array it allocated itself, and fills in only the consumer of each entry. Every other way of getting a bulk array has the supply name set, because the caller provides it, and the core expects it to be there: regulator_bulk_enable() prints it when a supply fails to enable, so a caller that hands such an array to it dereferences uninitialised memory on that path. Copy each name into the array's own allocation, right behind the entries, so that it shares the array's lifetime and callers still have nothing extra to free. That also retires the fixed 64 byte stack buffer the names were assembled in, which is_supply_name() never bounded the copy against.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 27b9ecc7a9ba1d0014779bfe5a6dbf630899c6e7 , < a5f43540e14589b53f80306d25c043c0abdcbca0 (git)
    Affected: 27b9ecc7a9ba1d0014779bfe5a6dbf630899c6e7 , < 82ac8c4939bdbd064b4f54a580fbe4baf0d60e41 (git)
    Affected: 27b9ecc7a9ba1d0014779bfe5a6dbf630899c6e7 , < a3384ec2516a7cc567bd7c09029282494469b247 (git)
    Affected: 27b9ecc7a9ba1d0014779bfe5a6dbf630899c6e7 , < e2151c29cec73f6cc70abf1c7cbc7b9b202489f5 (git)
    Affected: fd5015686d898db6642e05cfa1cc4e1289631ecb (git)
    Affected: 6.1.110 , < 6.2 (semver)
    Create a notification for this product.
    Linux Linux Affected: 6.2
    Unaffected: 0 , < 6.2 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.57 , ≤ 6.18.* (semver)
    Unaffected: 7.2.11 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/regulator/of_regulator.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "a5f43540e14589b53f80306d25c043c0abdcbca0",
                  "status": "affected",
                  "version": "27b9ecc7a9ba1d0014779bfe5a6dbf630899c6e7",
                  "versionType": "git"
                },
                {
                  "lessThan": "82ac8c4939bdbd064b4f54a580fbe4baf0d60e41",
                  "status": "affected",
                  "version": "27b9ecc7a9ba1d0014779bfe5a6dbf630899c6e7",
                  "versionType": "git"
                },
                {
                  "lessThan": "a3384ec2516a7cc567bd7c09029282494469b247",
                  "status": "affected",
                  "version": "27b9ecc7a9ba1d0014779bfe5a6dbf630899c6e7",
                  "versionType": "git"
                },
                {
                  "lessThan": "e2151c29cec73f6cc70abf1c7cbc7b9b202489f5",
                  "status": "affected",
                  "version": "27b9ecc7a9ba1d0014779bfe5a6dbf630899c6e7",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "fd5015686d898db6642e05cfa1cc4e1289631ecb",
                  "versionType": "git"
                },
                {
                  "lessThan": "6.2",
                  "status": "affected",
                  "version": "6.1.110",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/regulator/of_regulator.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "6.2"
                },
                {
                  "lessThan": "6.2",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.57",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.11",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "6.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.57",
                      "versionStartIncluding": "6.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.11",
                      "versionStartIncluding": "6.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "6.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "6.1.110",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nregulator: of: fill in supply names in of_regulator_bulk_get_all()\n\nof_regulator_bulk_get_all() returns an array it allocated itself, and\nfills in only the consumer of each entry. Every other way of getting a\nbulk array has the supply name set, because the caller provides it, and\nthe core expects it to be there: regulator_bulk_enable() prints it when\na supply fails to enable, so a caller that hands such an array to it\ndereferences uninitialised memory on that path.\n\nCopy each name into the array\u0027s own allocation, right behind the\nentries, so that it shares the array\u0027s lifetime and callers still have\nnothing extra to free. That also retires the fixed 64 byte stack buffer\nthe names were assembled in, which is_supply_name() never bounded the\ncopy against."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:22.599Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/a5f43540e14589b53f80306d25c043c0abdcbca0"
            },
            {
              "url": "https://git.kernel.org/stable/c/82ac8c4939bdbd064b4f54a580fbe4baf0d60e41"
            },
            {
              "url": "https://git.kernel.org/stable/c/a3384ec2516a7cc567bd7c09029282494469b247"
            },
            {
              "url": "https://git.kernel.org/stable/c/e2151c29cec73f6cc70abf1c7cbc7b9b202489f5"
            }
          ],
          "title": "regulator: of: fill in supply names in of_regulator_bulk_get_all()",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-99021",
        "datePublished": "2026-10-23T12:21:00.951Z",
        "dateReserved": "2026-09-25T10:25:14.386Z",
        "dateUpdated": "2026-11-10T18:15:22.599Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-98996 (GCVE-0-2026-98996)

    Vulnerability from cvelistv5 – Published: 2026-10-23 12:20 – Updated: 2026-11-10 18:15
    VLAI
    Title
    fs: don't silently unmount busy mounts
    Summary
    In the Linux kernel, the following vulnerability has been resolved: fs: don't silently unmount busy mounts The propagate_mount_busy() helper exists to decide whether a synchronous can suceed. It does that by looking at the copies of the victims in the mounts its parent propagates to. One of those functions from propagation hell. It skips a copy that has child mounts except for the case of a single child mount covering the copy's root. That algorithm used to be exact. It isn't anymore. Originally only childless copies were unmounted during propagation. And 1064f874abc0 ("mnt: Tuck mounts under others instead of creating shadow/side mounts.") ended up adding covered mounts to both sides in one go. Along came 99b19d16471e ("mnt: In propgate_umount handle visiting mounts in any order") and that started to unmount more than before: [1]: A copy of a mount is unmounted when each of its children is either its overmount or a copy of the victim itself. In the former case the overmount gets reparented. In the latter case the copy of the victim will end up being unmounted. So propagate_umount() ended up being rewritten without adjusting propagate_mount_busy(). And currently propagate_mount_busy() doesn't look at copies of the victim that have two or more children nor a single child that is not the overmount. So any such copy in [1] is not checked for references. The result is that a synchronous unmount succeeds, pulling out a mount that is still in use. A container can run into this with its own mounts. The host shares a tree with the container and the host has a mount in that tree: mount -t tmpfs none /mnt mount --make-shared /mnt mount -t tmpfs none /mnt/a The container's /mnt is a slave copy of the host mount. The container now takes a detached copy of the tree and mounts that copy beneath its propagated copy of /mnt/a and keeps the file descriptor to the tree open: unshare -m --propagation unchanged mount --make-rslave / fd = open_tree(AT_FDCWD, "/mnt", OPEN_TREE_CLONE | AT_RECURSIVE) move_mount(fd, "", AT_FDCWD, "/mnt/a", MOVE_MOUNT_BENEATH) grep /mnt /proc/self/mountinfo 775 355 ... /mnt ... master:646 777 775 ... /mnt/a ... master:646 776 777 ... /mnt/a ... master:647 778 777 ... /mnt/a/a ... master:647 The now attached tree (777) is now mounted beneath the container's copy of /mnt/a. That's also where the host mount sits (as seen from the host mount namespace). So the propagated copy (776) of the host's mount is on top of its root and the copy of that (778) is inside it. Now the host runs: umount /mnt/a and it succeeds. The moved tree tree and the copy inside of it are gone from the container. Now only the propagated copy is left and it got reparented to where it was before: grep /mnt /proc/self/mountinfo 775 355 ... /mnt ... master:646 776 775 ... /mnt/a ... But the file descriptor still refers to the moved tree. So a synchronous umount detached a mount that is still in use. Teach propagate_mount_busy() the same checks that propagate_umount() does. It now checks for a single victim mount without children for which it can assume that MNT_LOCKED is cleared on every copy like propagate_umount() does. The copies form chains. IOW, when a copy itself receives propagation from the victim's parent then the mount at the same mountpoint inside that copy is a copy as well. Whether a mount receives propagation from the victim's can simply be checked by walking its masters. Walk each chain once from its top so we are sure that nested copies stay linear. Check every reference once of every copy that gets unmounted.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 99b19d16471e9c3faa85cad38abc9cbbe04c6d55 , < 97c9ca40b67eafbe61a253e28cd51dddb7c6bec4 (git)
    Affected: 99b19d16471e9c3faa85cad38abc9cbbe04c6d55 , < bf2c8dec26fb792876b5e9bde7030c45d8be3908 (git)
    Affected: 99b19d16471e9c3faa85cad38abc9cbbe04c6d55 , < a210ac218c307513d43e98a08f23c2dfbeeebc2f (git)
    Affected: 99b19d16471e9c3faa85cad38abc9cbbe04c6d55 , < 6857e209015f95be7a8f19a9cd5dac345b9b9859 (git)
    Affected: dc5ce95b0252d143497283f7f659840d4f8a79d0 (git)
    Affected: fdb8f10499924d96b8eb60cc1354b278f6fcf0e9 (git)
    Affected: bb4fbf094b440a9209ed88c8681960d4b26eec0f (git)
    Affected: b43f81ef0babcc07db1eaaece37c989204e4ff00 (git)
    Affected: 81311d1698c0c87c972ba71d3ce44a617b52ea21 (git)
    Affected: 4.1.43 , < 4.2 (semver)
    Affected: 4.4.78 , < 4.5 (semver)
    Affected: 4.9.39 , < 4.10 (semver)
    Affected: 4.11.12 , < 4.12 (semver)
    Affected: 4.12.3 , < 4.13 (semver)
    Create a notification for this product.
    Linux Linux Affected: 4.13
    Unaffected: 0 , < 4.13 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.57 , ≤ 6.18.* (semver)
    Unaffected: 7.2.11 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/pnode.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "97c9ca40b67eafbe61a253e28cd51dddb7c6bec4",
                  "status": "affected",
                  "version": "99b19d16471e9c3faa85cad38abc9cbbe04c6d55",
                  "versionType": "git"
                },
                {
                  "lessThan": "bf2c8dec26fb792876b5e9bde7030c45d8be3908",
                  "status": "affected",
                  "version": "99b19d16471e9c3faa85cad38abc9cbbe04c6d55",
                  "versionType": "git"
                },
                {
                  "lessThan": "a210ac218c307513d43e98a08f23c2dfbeeebc2f",
                  "status": "affected",
                  "version": "99b19d16471e9c3faa85cad38abc9cbbe04c6d55",
                  "versionType": "git"
                },
                {
                  "lessThan": "6857e209015f95be7a8f19a9cd5dac345b9b9859",
                  "status": "affected",
                  "version": "99b19d16471e9c3faa85cad38abc9cbbe04c6d55",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "dc5ce95b0252d143497283f7f659840d4f8a79d0",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "fdb8f10499924d96b8eb60cc1354b278f6fcf0e9",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "bb4fbf094b440a9209ed88c8681960d4b26eec0f",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "b43f81ef0babcc07db1eaaece37c989204e4ff00",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "81311d1698c0c87c972ba71d3ce44a617b52ea21",
                  "versionType": "git"
                },
                {
                  "lessThan": "4.2",
                  "status": "affected",
                  "version": "4.1.43",
                  "versionType": "semver"
                },
                {
                  "lessThan": "4.5",
                  "status": "affected",
                  "version": "4.4.78",
                  "versionType": "semver"
                },
                {
                  "lessThan": "4.10",
                  "status": "affected",
                  "version": "4.9.39",
                  "versionType": "semver"
                },
                {
                  "lessThan": "4.12",
                  "status": "affected",
                  "version": "4.11.12",
                  "versionType": "semver"
                },
                {
                  "lessThan": "4.13",
                  "status": "affected",
                  "version": "4.12.3",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/pnode.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "4.13"
                },
                {
                  "lessThan": "4.13",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.57",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.11",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "4.13",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.57",
                      "versionStartIncluding": "4.13",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.11",
                      "versionStartIncluding": "4.13",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "4.13",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.1.43",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.4.78",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.9.39",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.11.12",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "4.12.3",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs: don\u0027t silently unmount busy mounts\n\nThe propagate_mount_busy() helper exists to decide whether a synchronous\ncan suceed. It does that by looking at the copies of the victims in the\nmounts its parent propagates to. One of those functions from propagation\nhell.\n\nIt skips a copy that has child mounts except for the case of a single\nchild mount covering the copy\u0027s root. That algorithm used to be exact.\nIt isn\u0027t anymore.\n\nOriginally only childless copies were unmounted during propagation.\nAnd 1064f874abc0 (\"mnt: Tuck mounts under others instead of creating\nshadow/side mounts.\") ended up adding covered mounts to both sides in\none go.\n\nAlong came 99b19d16471e (\"mnt: In propgate_umount handle visiting mounts\nin any order\") and that started to unmount more than before:\n\n[1]: A copy of a mount is unmounted when each of its children is either\n     its overmount or a copy of the victim itself. In the former case\n     the overmount gets reparented. In the latter case the copy of the\n     victim will end up being unmounted.\n\nSo propagate_umount() ended up being rewritten without adjusting\npropagate_mount_busy(). And currently propagate_mount_busy() doesn\u0027t\nlook at copies of the victim that have two or more children nor a single\nchild that is not the overmount.\n\nSo any such copy in [1] is not checked for\nreferences. The result is that a synchronous unmount succeeds, pulling\nout a mount that is still in use.\n\nA container can run into this with its own mounts. The host shares a\ntree with the container and the host has a mount in that tree:\n\n  mount -t tmpfs none /mnt\n  mount --make-shared /mnt\n  mount -t tmpfs none /mnt/a\n\nThe container\u0027s /mnt is a slave copy of the host mount. The container\nnow takes a detached copy of the tree and mounts that copy beneath its\npropagated copy of /mnt/a and keeps the file descriptor to the tree\nopen:\n\n  unshare -m --propagation unchanged\n  mount --make-rslave /\n  fd = open_tree(AT_FDCWD, \"/mnt\", OPEN_TREE_CLONE | AT_RECURSIVE)\n  move_mount(fd, \"\", AT_FDCWD, \"/mnt/a\", MOVE_MOUNT_BENEATH)\n\n  grep /mnt /proc/self/mountinfo\n  775 355 ... /mnt ...     master:646\n  777 775 ... /mnt/a ...   master:646\n  776 777 ... /mnt/a ...   master:647\n  778 777 ... /mnt/a/a ... master:647\n\nThe now attached tree (777) is now mounted beneath the container\u0027s copy\nof /mnt/a. That\u0027s also where the host mount sits (as seen from the host\nmount namespace). So the propagated copy (776) of the host\u0027s mount is on\ntop of its root and the copy of that (778) is inside it. Now the host\nruns:\n\n  umount /mnt/a\n\nand it succeeds. The moved tree tree and the copy inside of it are gone\nfrom the container. Now only the propagated copy is left and it got\nreparented to where it was before:\n\n  grep /mnt /proc/self/mountinfo\n  775 355 ... /mnt ... master:646\n  776 775 ... /mnt/a ...\n\nBut the file descriptor still refers to the moved tree. So a synchronous\numount detached a mount that is still in use.\n\nTeach propagate_mount_busy() the same checks that propagate_umount()\ndoes. It now checks for a single victim mount without children\nfor which it can assume that MNT_LOCKED is cleared on every copy like\npropagate_umount() does. The copies form chains. IOW, when a copy itself\nreceives propagation from the victim\u0027s parent then the mount at the same\nmountpoint inside that copy is a copy as well. Whether a mount receives\npropagation from the victim\u0027s can simply be checked by walking its\nmasters. Walk each chain once from its top so we are sure that nested\ncopies stay linear. Check every reference once of every copy that gets\nunmounted."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:22.209Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/97c9ca40b67eafbe61a253e28cd51dddb7c6bec4"
            },
            {
              "url": "https://git.kernel.org/stable/c/bf2c8dec26fb792876b5e9bde7030c45d8be3908"
            },
            {
              "url": "https://git.kernel.org/stable/c/a210ac218c307513d43e98a08f23c2dfbeeebc2f"
            },
            {
              "url": "https://git.kernel.org/stable/c/6857e209015f95be7a8f19a9cd5dac345b9b9859"
            }
          ],
          "title": "fs: don\u0027t silently unmount busy mounts",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-98996",
        "datePublished": "2026-10-23T12:20:15.188Z",
        "dateReserved": "2026-09-25T10:25:14.384Z",
        "dateUpdated": "2026-11-10T18:15:22.209Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-98989 (GCVE-0-2026-98989)

    Vulnerability from cvelistv5 – Published: 2026-10-23 12:20 – Updated: 2026-11-10 18:15
    VLAI
    Title
    namespace: check a recursive bind mount for mount namespace loops
    Summary
    In the Linux kernel, the following vulnerability has been resolved: namespace: check a recursive bind mount for mount namespace loops do_loopback() refuses to bind mount the file of a mount namespace that is as old as the caller's or older because a mount namespace that holds a mount of its own file, or of an ancestor's, would cause a cycle. But it only checks the dentry the bind mount starts from. With MS_REC everything below it is copied and do_loopback() passes CL_COPY_MNT_NS_FILE so mount namespace files below the source are copied. That's fine for a source in the caller's own mount namespace. Every mount namespace file in there passed the same check when it was bind-mounted. It isn't fine for a source in another mount namespace. may_copy_tree() accepts a bind mount of any nsfs or pidfs file no matter what mount namespace it lives in so that /proc/<pid>/ns/<ns> and pidfds can be bind mounted. If we create a bind-mount stack of mount namespaces file descriptors the kernel will copy them irrespective of their ancestoral relationship to the mount namespace in question: 151 146 0:7 net:[4026531833] /tmp/nrc/y rw - nsfs nsfs rw 152 151 0:7 mnt:[4026532293] /tmp/nrc/y rw - nsfs nsfs rw Mount 152 is a mount of the mount namespace file of mount namespace 4026532293 inside mount namespace 4026532293. That namespace and every mount in it are leaked... All it takes is a process in an older mount namespace that stacks the file and repeating it leaks without limit: after control: Shmem: 380 kB child: mount(/proc/self/fd/6, MS_BIND|MS_REC): ok after cycle: Shmem: 65916 kB do_move_mount() runs check_for_nsfs_mounts() over a detached tree for exactly that reason. Do the same for the copy before it is grafted.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: e149ed2b805fefdccf7ccdfc19eca22fdd4514ac , < b82f3c1131456537a514595c3991b62652507c9d (git)
    Affected: e149ed2b805fefdccf7ccdfc19eca22fdd4514ac , < a0ba48256f5dff6f75a45f8ce39fe57f21df1022 (git)
    Affected: e149ed2b805fefdccf7ccdfc19eca22fdd4514ac , < 37a82f400efa4d263542a5fa41755b21057f1e5d (git)
    Affected: e149ed2b805fefdccf7ccdfc19eca22fdd4514ac , < c640a01a78e42302879006ed7b7d5a9a943ba815 (git)
    Create a notification for this product.
    Linux Linux Affected: 3.19
    Unaffected: 0 , < 3.19 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.57 , ≤ 6.18.* (semver)
    Unaffected: 7.2.11 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/namespace.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "b82f3c1131456537a514595c3991b62652507c9d",
                  "status": "affected",
                  "version": "e149ed2b805fefdccf7ccdfc19eca22fdd4514ac",
                  "versionType": "git"
                },
                {
                  "lessThan": "a0ba48256f5dff6f75a45f8ce39fe57f21df1022",
                  "status": "affected",
                  "version": "e149ed2b805fefdccf7ccdfc19eca22fdd4514ac",
                  "versionType": "git"
                },
                {
                  "lessThan": "37a82f400efa4d263542a5fa41755b21057f1e5d",
                  "status": "affected",
                  "version": "e149ed2b805fefdccf7ccdfc19eca22fdd4514ac",
                  "versionType": "git"
                },
                {
                  "lessThan": "c640a01a78e42302879006ed7b7d5a9a943ba815",
                  "status": "affected",
                  "version": "e149ed2b805fefdccf7ccdfc19eca22fdd4514ac",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/namespace.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "3.19"
                },
                {
                  "lessThan": "3.19",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.57",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.11",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "3.19",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.57",
                      "versionStartIncluding": "3.19",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.11",
                      "versionStartIncluding": "3.19",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "3.19",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnamespace: check a recursive bind mount for mount namespace loops\n\ndo_loopback() refuses to bind mount the file of a mount namespace that\nis as old as the caller\u0027s or older because a mount namespace that holds\na mount of its own file, or of an ancestor\u0027s, would cause a cycle. But\nit only checks the dentry the bind mount starts from. With MS_REC\neverything below it is copied and do_loopback() passes\nCL_COPY_MNT_NS_FILE so mount namespace files below the source are\ncopied.\n\nThat\u0027s fine for a source in the caller\u0027s own mount namespace. Every\nmount namespace file in there passed the same check when it was\nbind-mounted. It isn\u0027t fine for a source in another mount namespace.\nmay_copy_tree() accepts a bind mount of any nsfs or pidfs file no matter\nwhat mount namespace it lives in so that /proc/\u003cpid\u003e/ns/\u003cns\u003e and pidfds\ncan be bind mounted. If we create a bind-mount stack of mount namespaces\nfile descriptors the kernel will copy them irrespective of their\nancestoral relationship to the mount namespace in question:\n\n  151 146 0:7 net:[4026531833] /tmp/nrc/y rw - nsfs nsfs rw\n  152 151 0:7 mnt:[4026532293] /tmp/nrc/y rw - nsfs nsfs rw\n\nMount 152 is a mount of the mount namespace file of mount namespace\n4026532293 inside mount namespace 4026532293. That namespace and every\nmount in it are leaked... All it takes is a process in an older mount\nnamespace that stacks the file and repeating it leaks without limit:\n\n  after control: Shmem:               380 kB\n  child: mount(/proc/self/fd/6, MS_BIND|MS_REC): ok\n  after cycle: Shmem:             65916 kB\n\ndo_move_mount() runs check_for_nsfs_mounts() over a detached tree for\nexactly that reason. Do the same for the copy before it is grafted."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:21.865Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/b82f3c1131456537a514595c3991b62652507c9d"
            },
            {
              "url": "https://git.kernel.org/stable/c/a0ba48256f5dff6f75a45f8ce39fe57f21df1022"
            },
            {
              "url": "https://git.kernel.org/stable/c/37a82f400efa4d263542a5fa41755b21057f1e5d"
            },
            {
              "url": "https://git.kernel.org/stable/c/c640a01a78e42302879006ed7b7d5a9a943ba815"
            }
          ],
          "title": "namespace: check a recursive bind mount for mount namespace loops",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-98989",
        "datePublished": "2026-10-23T12:20:08.366Z",
        "dateReserved": "2026-09-25T10:25:14.384Z",
        "dateUpdated": "2026-11-10T18:15:21.865Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-98978 (GCVE-0-2026-98978)

    Vulnerability from cvelistv5 – Published: 2026-10-23 12:19 – Updated: 2026-11-10 18:15
    VLAI
    Title
    namespace: never expire a locked mount
    Summary
    In the Linux kernel, the following vulnerability has been resolved: namespace: never expire a locked mount Locked mounts are special. They protect the underlying files and directories from being revealed. do_umount() refuses to unmount locked mounts but shrink_submounts() doesn't. A shrinkable mount can become locked once the owner of a user namespace puts it beneath a locked mount with MOVE_MOUNT_BENEATH. The locked property now moves to the mount at the bottom making it possible to unmount the top mount. So umount() of an unlocked ancestor now expires the bottom mount first and the covered directory is revealed: move_mount(c -> x/hidden, MOVE_MOUNT_BENEATH) = 0 the cover after the lock moved: umount2(x/hidden) = 0 the holder of the lock: umount2(x/hidden) = EINVAL the root of the copy, busy: umount2(x) = EBUSY reads x/hidden/secret: "covered-by-root" So leave a locked mount alone as it dies together with its parent. A plain umount() of an unlocked mount with a locked one below it is EBUSY from now on. It's the same for any other locked child. A lazy umount still takes the whole tree. mark_mounts_for_expiry() never sees a locked mount. lock_mnt_tree() leaves a mount on an expiry list alone and nothing else puts a locked one on such a list. Add an assert for this.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 5ff9d8a65ce80efb509ce4e8051394e9ed2cd942 , < 6c8013ea84fcc51cf26aa870b61b5388c7196ed5 (git)
    Affected: 5ff9d8a65ce80efb509ce4e8051394e9ed2cd942 , < 6b8dc3713a76346d212abab46cbfc8d7070f534c (git)
    Affected: 5ff9d8a65ce80efb509ce4e8051394e9ed2cd942 , < d23265a12e4991ce7aedce670c0b6b598cadb644 (git)
    Affected: 5ff9d8a65ce80efb509ce4e8051394e9ed2cd942 , < f78ddcc872248c7aa1d7e904928441a0be4c6d5d (git)
    Create a notification for this product.
    Linux Linux Affected: 3.12
    Unaffected: 0 , < 3.12 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.57 , ≤ 6.18.* (semver)
    Unaffected: 7.2.11 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/namespace.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "6c8013ea84fcc51cf26aa870b61b5388c7196ed5",
                  "status": "affected",
                  "version": "5ff9d8a65ce80efb509ce4e8051394e9ed2cd942",
                  "versionType": "git"
                },
                {
                  "lessThan": "6b8dc3713a76346d212abab46cbfc8d7070f534c",
                  "status": "affected",
                  "version": "5ff9d8a65ce80efb509ce4e8051394e9ed2cd942",
                  "versionType": "git"
                },
                {
                  "lessThan": "d23265a12e4991ce7aedce670c0b6b598cadb644",
                  "status": "affected",
                  "version": "5ff9d8a65ce80efb509ce4e8051394e9ed2cd942",
                  "versionType": "git"
                },
                {
                  "lessThan": "f78ddcc872248c7aa1d7e904928441a0be4c6d5d",
                  "status": "affected",
                  "version": "5ff9d8a65ce80efb509ce4e8051394e9ed2cd942",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/namespace.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "3.12"
                },
                {
                  "lessThan": "3.12",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.57",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.11",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "3.12",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.57",
                      "versionStartIncluding": "3.12",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.11",
                      "versionStartIncluding": "3.12",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "3.12",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnamespace: never expire a locked mount\n\nLocked mounts are special. They protect the underlying files and\ndirectories from being revealed. do_umount() refuses to unmount locked\nmounts but shrink_submounts() doesn\u0027t.\n\nA shrinkable mount can become locked once the owner of a user namespace\nputs it beneath a locked mount with MOVE_MOUNT_BENEATH. The locked\nproperty now moves to the mount at the bottom making it possible to\nunmount the top mount.\n\nSo umount() of an unlocked ancestor now expires the bottom mount first\nand the covered directory is revealed:\n\n  move_mount(c -\u003e x/hidden, MOVE_MOUNT_BENEATH) = 0\n  the cover after the lock moved:  umount2(x/hidden) = 0\n  the holder of the lock:          umount2(x/hidden) = EINVAL\n  the root of the copy, busy:      umount2(x) = EBUSY\n  reads x/hidden/secret: \"covered-by-root\"\n\nSo leave a locked mount alone as it dies together with its parent. A\nplain umount() of an unlocked mount with a locked one below it is EBUSY\nfrom now on. It\u0027s the same for any other locked child. A lazy umount\nstill takes the whole tree.\n\nmark_mounts_for_expiry() never sees a locked mount. lock_mnt_tree()\nleaves a mount on an expiry list alone and nothing else puts a locked\none on such a list. Add an assert for this."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 8.4,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:L - umount2() reaches ksys_umount() -\u003e path_umount() -\u003e do_umount() -\u003e shrink_submounts() -\u003e the patched shrink_submount(); all triggering state is supplied through local mount syscalls, not a network protocol.\nAC:L - fuse_dentry_automount() can create an attacker-controlled mount that finish_automount() marks MNT_SHRINKABLE, and clone_mnt() preserves that flag. The lock transfer with MOVE_MOUNT_BENEATH and ancestor umount2() are deterministic and require no race.\nPR:L - move_mount() and can_umount() require may_mount(), which checks CAP_SYS_ADMIN in the mount namespace\u0027s owning user namespace. An ordinary user obtains that capability through unshare(CLONE_NEWUSER|CLONE_NEWNS), as exercised by expiry_child().\nUI:N - The attacker independently performs unshare(), bind mounts, move_mount(MOVE_MOUNT_BENEATH), umount2(), and the final file access; no victim action is needed after the sandbox mount layout exists.\nS:C - MNT_LOCKED is applied by lock_mnt_tree() specifically to stop a less-privileged child user/mount namespace from exposing resources hidden by its parent; removing that cover crosses this sandbox boundary.\nC:H - Vulnerable shrink_submount() calls umount_tree() on the locked mount, causing path lookup to fall through to the entire concealed directory subtree rather than a bounded datum; in a same-identity sandbox this can disclose all files protected solely by the mount cover.\nI:H - The same umount_tree() operation exposes every object below the covered directory; where the mount namespace was the access-control boundary for a same-identity sandbox, the attacker can modify or delete the entire otherwise-hidden writable subtree.\nA:N - The flaw neither corrupts memory nor crashes or hangs the kernel; umount_tree() detaches a mount from the attacker\u0027s copied mount namespace, and the demonstrated consequence is exposure of the covered path."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:21.525Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/6c8013ea84fcc51cf26aa870b61b5388c7196ed5"
            },
            {
              "url": "https://git.kernel.org/stable/c/6b8dc3713a76346d212abab46cbfc8d7070f534c"
            },
            {
              "url": "https://git.kernel.org/stable/c/d23265a12e4991ce7aedce670c0b6b598cadb644"
            },
            {
              "url": "https://git.kernel.org/stable/c/f78ddcc872248c7aa1d7e904928441a0be4c6d5d"
            }
          ],
          "title": "namespace: never expire a locked mount",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-98978",
        "datePublished": "2026-10-23T12:19:51.428Z",
        "dateReserved": "2026-09-25T10:25:14.383Z",
        "dateUpdated": "2026-11-10T18:15:21.525Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-98920 (GCVE-0-2026-98920)

    Vulnerability from cvelistv5 – Published: 2026-10-23 12:02 – Updated: 2026-11-10 18:15
    VLAI
    Title
    netfs: Fix missing alloc tagging of direct mempool allocations
    Summary
    In the Linux kernel, the following vulnerability has been resolved: netfs: Fix missing alloc tagging of direct mempool allocations Commit 1d78d56c43ef ("netfs: Fix folio_queue ENOMEM in writeback by adding a mempool") added a mempool for the folio_queues and made the request, subrequest and folio_queue allocations distinguish between writeback and everything else. Writeback is part of memory reclaim and must not fail due to ENOMEM, so it allocates under GFP_NOFS through mempool_alloc(), which may dip into the pool's reserve and, if that runs empty, wait for elements to be returned. The GFP_KERNEL paths, which can return -ENOMEM to their callers, invoke the pool's ->alloc() callback directly instead. The direct call, however, skips the alloc_hooks() wrapper that the mempool_alloc() macro provides. The pool callbacks, mempool_alloc_slab() and mempool_kmalloc(), call kmem_cache_alloc_noprof() and kmalloc_noprof() and rely on current->alloc_tag having been set by the caller. With CONFIG_MEM_ALLOC_PROFILING_DEBUG=y this leads to current->alloc_tag not set WARNING: ./include/linux/alloc_tag.h:161 at __alloc_tagging_slab_alloc_hook alloc_tag was not set WARNING: ./include/linux/alloc_tag.h:166 at __alloc_tagging_slab_free_hook at allocation and free time respectively, as reported when reading files on a CIFS mount. The allocations are also missing from /proc/allocinfo. Wrap the direct ->alloc() invocations in alloc_hooks() with a new mempool_alloc_noreserve() helper in include/linux/mempool.h, next to the other alloc_hooks()-wrapped macros such as mempool_alloc(). The GFP_KERNEL paths keep their failable allocation semantics, they just get tagged now.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: b343252d6f536203dd0660f676190dcbf6d2ecdc , < 6ba3d758cd40888908f96d68d69322dad65a871e (git)
    Affected: 15ed8a9b7c63e9171f5139a6aaa1ffb61809861f , < 5c03da745171485fd181f17b69213464f6d05f3d (git)
    Affected: 1d78d56c43ef3768183e8370e7367b162700e049 , < 37a2042748bc880df03ff8315db86ed82991fbb8 (git)
    Affected: 1d78d56c43ef3768183e8370e7367b162700e049 , < b78b728e21c32ec4c330b299f657fb1eb02dffc2 (git)
    Affected: 3f6d7f8a5416d852648d15a05e895f1195ee8a85 (git)
    Affected: 6.12.114 , < 6.12.117 (semver)
    Affected: 7.1.8 , < 7.2 (semver)
    Create a notification for this product.
    Linux Linux Affected: 7.2
    Unaffected: 0 , < 7.2 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 7.2.9 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "fs/netfs/objects.c",
                "fs/netfs/rolling_buffer.c",
                "include/linux/mempool.h"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "6ba3d758cd40888908f96d68d69322dad65a871e",
                  "status": "affected",
                  "version": "b343252d6f536203dd0660f676190dcbf6d2ecdc",
                  "versionType": "git"
                },
                {
                  "lessThan": "5c03da745171485fd181f17b69213464f6d05f3d",
                  "status": "affected",
                  "version": "15ed8a9b7c63e9171f5139a6aaa1ffb61809861f",
                  "versionType": "git"
                },
                {
                  "lessThan": "37a2042748bc880df03ff8315db86ed82991fbb8",
                  "status": "affected",
                  "version": "1d78d56c43ef3768183e8370e7367b162700e049",
                  "versionType": "git"
                },
                {
                  "lessThan": "b78b728e21c32ec4c330b299f657fb1eb02dffc2",
                  "status": "affected",
                  "version": "1d78d56c43ef3768183e8370e7367b162700e049",
                  "versionType": "git"
                },
                {
                  "status": "affected",
                  "version": "3f6d7f8a5416d852648d15a05e895f1195ee8a85",
                  "versionType": "git"
                },
                {
                  "lessThan": "6.12.117",
                  "status": "affected",
                  "version": "6.12.114",
                  "versionType": "semver"
                },
                {
                  "lessThan": "7.2",
                  "status": "affected",
                  "version": "7.1.8",
                  "versionType": "semver"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "fs/netfs/objects.c",
                "fs/netfs/rolling_buffer.c",
                "include/linux/mempool.h"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "7.2"
                },
                {
                  "lessThan": "7.2",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.9",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "6.12.114",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.9",
                      "versionStartIncluding": "7.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "7.2",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "7.1.8",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfs: Fix missing alloc tagging of direct mempool allocations\n\nCommit 1d78d56c43ef (\"netfs: Fix folio_queue ENOMEM in writeback by\nadding a mempool\") added a mempool for the folio_queues and made the\nrequest, subrequest and folio_queue allocations distinguish between\nwriteback and everything else.  Writeback is part of memory reclaim\nand must not fail due to ENOMEM, so it allocates under GFP_NOFS\nthrough mempool_alloc(), which may dip into the pool\u0027s reserve and,\nif that runs empty, wait for elements to be returned.  The\nGFP_KERNEL paths, which can return -ENOMEM to their callers, invoke\nthe pool\u0027s -\u003ealloc() callback directly instead.\n\nThe direct call, however, skips the alloc_hooks() wrapper that the\nmempool_alloc() macro provides.  The pool callbacks, mempool_alloc_slab()\nand mempool_kmalloc(), call kmem_cache_alloc_noprof() and kmalloc_noprof()\nand rely on current-\u003ealloc_tag having been set by the caller.  With\nCONFIG_MEM_ALLOC_PROFILING_DEBUG=y this leads to\n\n    current-\u003ealloc_tag not set\n    WARNING: ./include/linux/alloc_tag.h:161 at __alloc_tagging_slab_alloc_hook\n    alloc_tag was not set\n    WARNING: ./include/linux/alloc_tag.h:166 at __alloc_tagging_slab_free_hook\n\nat allocation and free time respectively, as reported when reading\nfiles on a CIFS mount.  The allocations are also missing from\n/proc/allocinfo.\n\nWrap the direct -\u003ealloc() invocations in alloc_hooks() with a new\nmempool_alloc_noreserve() helper in include/linux/mempool.h, next to\nthe other alloc_hooks()-wrapped macros such as mempool_alloc().  The\nGFP_KERNEL paths keep their failable allocation semantics, they just\nget tagged now."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:20.857Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/6ba3d758cd40888908f96d68d69322dad65a871e"
            },
            {
              "url": "https://git.kernel.org/stable/c/5c03da745171485fd181f17b69213464f6d05f3d"
            },
            {
              "url": "https://git.kernel.org/stable/c/37a2042748bc880df03ff8315db86ed82991fbb8"
            },
            {
              "url": "https://git.kernel.org/stable/c/b78b728e21c32ec4c330b299f657fb1eb02dffc2"
            }
          ],
          "title": "netfs: Fix missing alloc tagging of direct mempool allocations",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-98920",
        "datePublished": "2026-10-23T12:02:06.560Z",
        "dateReserved": "2026-09-25T10:25:14.380Z",
        "dateUpdated": "2026-11-10T18:15:20.857Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-98863 (GCVE-0-2026-98863)

    Vulnerability from cvelistv5 – Published: 2026-10-18 15:51 – Updated: 2026-11-10 18:15
    VLAI
    Title
    KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails
    Summary
    In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails Re-pend GET_NESTED_STATE_PAGES before exiting to userspace if getting the nested pages fails in the KVM_RUN path. If userspace re-runs the vCPU, and vmcs02 holds valid PFNs from the *previous* run of L2, then KVM could re-enter L2 with stale, unpinned PFNs mapped into e.g. the vAPIC page. Note, both SVM and VMX (as of commit 11722439fb20 ("KVM: nVMX: Ensure KVM_REQ_GET_NESTED_STATE_PAGES is cleared on VM-Exit") ensure the request is cleared on VM-Exit (including the "forced" case), i.e. there is no risk of double-mapping due to emulated VMLAUNCH/VMRESUME/VMRUN *and* the request trying to map the nested pages.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 671ddc700fd08b94967b1e2a937020e30c838609 , < 1e231eedb0c5aafdc8d96a816ec75554aa69004d (git)
    Affected: 671ddc700fd08b94967b1e2a937020e30c838609 , < 525694a6021ec6c8f7ce1f38acdf2dd77698fec1 (git)
    Affected: 671ddc700fd08b94967b1e2a937020e30c838609 , < 942192dbcd3a06695ef6b31cf10a41a21cf014d8 (git)
    Affected: 671ddc700fd08b94967b1e2a937020e30c838609 , < 10180a277549339020b08000206092c07e0bff5a (git)
    Create a notification for this product.
    Linux Linux Affected: 5.4
    Unaffected: 0 , < 5.4 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.56 , ≤ 6.18.* (semver)
    Unaffected: 7.2.10 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "arch/x86/kvm/x86.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "1e231eedb0c5aafdc8d96a816ec75554aa69004d",
                  "status": "affected",
                  "version": "671ddc700fd08b94967b1e2a937020e30c838609",
                  "versionType": "git"
                },
                {
                  "lessThan": "525694a6021ec6c8f7ce1f38acdf2dd77698fec1",
                  "status": "affected",
                  "version": "671ddc700fd08b94967b1e2a937020e30c838609",
                  "versionType": "git"
                },
                {
                  "lessThan": "942192dbcd3a06695ef6b31cf10a41a21cf014d8",
                  "status": "affected",
                  "version": "671ddc700fd08b94967b1e2a937020e30c838609",
                  "versionType": "git"
                },
                {
                  "lessThan": "10180a277549339020b08000206092c07e0bff5a",
                  "status": "affected",
                  "version": "671ddc700fd08b94967b1e2a937020e30c838609",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "arch/x86/kvm/x86.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.4"
                },
                {
                  "lessThan": "5.4",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.56",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.10",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "5.4",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.56",
                      "versionStartIncluding": "5.4",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.10",
                      "versionStartIncluding": "5.4",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "5.4",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails\n\nRe-pend GET_NESTED_STATE_PAGES before exiting to userspace if getting the\nnested pages fails in the KVM_RUN path.  If userspace re-runs the vCPU, and\nvmcs02 holds valid PFNs from the *previous* run of L2, then KVM could\nre-enter L2 with stale, unpinned PFNs mapped into e.g. the vAPIC page.\n\nNote, both SVM and VMX (as of commit 11722439fb20 (\"KVM: nVMX: Ensure\nKVM_REQ_GET_NESTED_STATE_PAGES is cleared on VM-Exit\") ensure the request\nis cleared on VM-Exit (including the \"forced\" case), i.e. there is no risk\nof double-mapping due to emulated VMLAUNCH/VMRESUME/VMRUN *and* the request\ntrying to map the nested pages."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:20.513Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/1e231eedb0c5aafdc8d96a816ec75554aa69004d"
            },
            {
              "url": "https://git.kernel.org/stable/c/525694a6021ec6c8f7ce1f38acdf2dd77698fec1"
            },
            {
              "url": "https://git.kernel.org/stable/c/942192dbcd3a06695ef6b31cf10a41a21cf014d8"
            },
            {
              "url": "https://git.kernel.org/stable/c/10180a277549339020b08000206092c07e0bff5a"
            }
          ],
          "title": "KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-98863",
        "datePublished": "2026-10-18T15:51:24.446Z",
        "dateReserved": "2026-09-25T10:25:14.376Z",
        "dateUpdated": "2026-11-10T18:15:20.513Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-98853 (GCVE-0-2026-98853)

    Vulnerability from cvelistv5 – Published: 2026-10-18 15:51 – Updated: 2026-11-10 18:15
    VLAI
    Title
    net: gso: limit recursive IP-in-IP segmentation
    Summary
    In the Linux kernel, the following vulnerability has been resolved: net: gso: limit recursive IP-in-IP segmentation IP-in-IP GSO can re-enter inet_gso_segment() or ipv6_gso_segment() for each nested IP header. encap_level tracks header bytes, not callback depth, so a deep chain can exhaust the kernel stack. Making inet_gso_segment() stackable introduced unbounded IPv4 nesting; IPIP GSO/TSO later made the path reachable. The IPv6 stackable path was introduced separately and uses the same guard. Count IPv4 and IPv6 GSO handler entries in skb_gso_cb, initialized once per top-level GSO operation and preserved across GRE/UDP context changes. Use the existing IP_TUNNEL_RECURSION_LIMIT for both handlers. The first five entries pass, and the sixth returns -EINVAL before dispatching another GSO callback.
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: 3347c960295583eee3fd58e5c539fb1972fbc005 , < cadffc83ee1a560d5cd18e6d607c1d76f6fd4bd4 (git)
    Affected: 3347c960295583eee3fd58e5c539fb1972fbc005 , < 388604279da3d0698a151efa4fb6d852efa0de4a (git)
    Affected: 3347c960295583eee3fd58e5c539fb1972fbc005 , < c949646c900e879afce47df1b607fa320eb63bf2 (git)
    Affected: 3347c960295583eee3fd58e5c539fb1972fbc005 , < 006c8b834aed8b02bd8fb9fb05e9e7ead37d1763 (git)
    Create a notification for this product.
    Linux Linux Affected: 3.13
    Unaffected: 0 , < 3.13 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.60 , ≤ 6.18.* (semver)
    Unaffected: 7.2.10 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "include/net/gso.h",
                "net/core/gso.c",
                "net/ipv4/af_inet.c",
                "net/ipv6/ip6_offload.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "cadffc83ee1a560d5cd18e6d607c1d76f6fd4bd4",
                  "status": "affected",
                  "version": "3347c960295583eee3fd58e5c539fb1972fbc005",
                  "versionType": "git"
                },
                {
                  "lessThan": "388604279da3d0698a151efa4fb6d852efa0de4a",
                  "status": "affected",
                  "version": "3347c960295583eee3fd58e5c539fb1972fbc005",
                  "versionType": "git"
                },
                {
                  "lessThan": "c949646c900e879afce47df1b607fa320eb63bf2",
                  "status": "affected",
                  "version": "3347c960295583eee3fd58e5c539fb1972fbc005",
                  "versionType": "git"
                },
                {
                  "lessThan": "006c8b834aed8b02bd8fb9fb05e9e7ead37d1763",
                  "status": "affected",
                  "version": "3347c960295583eee3fd58e5c539fb1972fbc005",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "include/net/gso.h",
                "net/core/gso.c",
                "net/ipv4/af_inet.c",
                "net/ipv6/ip6_offload.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "3.13"
                },
                {
                  "lessThan": "3.13",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.60",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.10",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "3.13",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.60",
                      "versionStartIncluding": "3.13",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.10",
                      "versionStartIncluding": "3.13",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "3.13",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: gso: limit recursive IP-in-IP segmentation\n\nIP-in-IP GSO can re-enter inet_gso_segment() or ipv6_gso_segment()\nfor each nested IP header. encap_level tracks header bytes, not callback\ndepth, so a deep chain can exhaust the kernel stack. Making\ninet_gso_segment() stackable introduced unbounded IPv4 nesting; IPIP\nGSO/TSO later made the path reachable. The IPv6 stackable path was\nintroduced separately and uses the same guard.\n\nCount IPv4 and IPv6 GSO handler entries in skb_gso_cb, initialized once\nper top-level GSO operation and preserved across GRE/UDP context changes.\nUse the existing IP_TUNNEL_RECURSION_LIMIT for both handlers. The first\nfive entries pass, and the sixth returns -EINVAL before dispatching\nanother GSO callback."
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:20.032Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/cadffc83ee1a560d5cd18e6d607c1d76f6fd4bd4"
            },
            {
              "url": "https://git.kernel.org/stable/c/388604279da3d0698a151efa4fb6d852efa0de4a"
            },
            {
              "url": "https://git.kernel.org/stable/c/c949646c900e879afce47df1b607fa320eb63bf2"
            },
            {
              "url": "https://git.kernel.org/stable/c/006c8b834aed8b02bd8fb9fb05e9e7ead37d1763"
            }
          ],
          "title": "net: gso: limit recursive IP-in-IP segmentation",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-98853",
        "datePublished": "2026-10-18T15:51:02.683Z",
        "dateReserved": "2026-09-25T10:25:14.376Z",
        "dateUpdated": "2026-11-10T18:15:20.032Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-98786 (GCVE-0-2026-98786)

    Vulnerability from cvelistv5 – Published: 2026-10-18 15:48 – Updated: 2026-11-10 18:15
    VLAI
    Title
    drm/amd/display: guard dc_sink dereferences in MST mode validation
    Summary
    In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: guard dc_sink dereferences in MST mode validation dm_dp_mst_is_port_support_mode() reads aconnector->dc_sink->dsc_caps... for the DSC branch-throughput check, and get_conv_frl_bw()'s HDMI-PCON FRL-bandwidth path reads aconnector->dc_sink->edid_caps.max_frl_rate, both without a NULL check. dc_sink is cleared asynchronously on MST unplug, and both functions run from paths that the driver's own comments document as racing that teardown: the connector probe worker's ->mode_valid callback and a compositor's atomic check, neither of which holds the MST manager lock that the teardown path uses. The former does have an existing dsc_aux NULL check, but dsc_aux isn't reliably cleared in every path that clears dc_sink, so it doesn't cover this. Fail the port-support check and skip the FRL conversion path when the sink is already gone. (cherry picked from commit 7c3db8da4e039698ae198c870712428644e965c7)
    Severity
    No CVSS data available.
    Assigner
    Linux CNA
    Impacted products
    Vendor Product Version
    Linux Linux Affected: f04d275d94e164d24516c32437c988a323018f63 , < 0189f725242087679bc9f1bbf77ad086f56a72c8 (git)
    Affected: f04d275d94e164d24516c32437c988a323018f63 , < 5684a6c24c0d7c40ef2c4ccb3e4a64cffe76a791 (git)
    Affected: f04d275d94e164d24516c32437c988a323018f63 , < daa0437fe5e451856aaf8fda602a9fc2105bbd54 (git)
    Affected: f04d275d94e164d24516c32437c988a323018f63 , < 217f64f348c90cba62164e7ff38e0ccf78a5ca09 (git)
    Create a notification for this product.
    Linux Linux Affected: 6.0
    Unaffected: 0 , < 6.0 (semver)
    Unaffected: 6.12.117 , ≤ 6.12.* (semver)
    Unaffected: 6.18.61 , ≤ 6.18.* (semver)
    Unaffected: 7.2.10 , ≤ 7.2.* (semver)
    Unaffected: 7.3 , ≤ * (original_commit_for_fix)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "0189f725242087679bc9f1bbf77ad086f56a72c8",
                  "status": "affected",
                  "version": "f04d275d94e164d24516c32437c988a323018f63",
                  "versionType": "git"
                },
                {
                  "lessThan": "5684a6c24c0d7c40ef2c4ccb3e4a64cffe76a791",
                  "status": "affected",
                  "version": "f04d275d94e164d24516c32437c988a323018f63",
                  "versionType": "git"
                },
                {
                  "lessThan": "daa0437fe5e451856aaf8fda602a9fc2105bbd54",
                  "status": "affected",
                  "version": "f04d275d94e164d24516c32437c988a323018f63",
                  "versionType": "git"
                },
                {
                  "lessThan": "217f64f348c90cba62164e7ff38e0ccf78a5ca09",
                  "status": "affected",
                  "version": "f04d275d94e164d24516c32437c988a323018f63",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "6.0"
                },
                {
                  "lessThan": "6.0",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.12.*",
                  "status": "unaffected",
                  "version": "6.12.117",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "6.18.*",
                  "status": "unaffected",
                  "version": "6.18.61",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "7.2.*",
                  "status": "unaffected",
                  "version": "7.2.10",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "7.3",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.12.117",
                      "versionStartIncluding": "6.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "6.18.61",
                      "versionStartIncluding": "6.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.2.10",
                      "versionStartIncluding": "6.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "7.3",
                      "versionStartIncluding": "6.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amd/display: guard dc_sink dereferences in MST mode validation\n\ndm_dp_mst_is_port_support_mode() reads\naconnector-\u003edc_sink-\u003edsc_caps... for the DSC branch-throughput check,\nand get_conv_frl_bw()\u0027s HDMI-PCON FRL-bandwidth path reads\naconnector-\u003edc_sink-\u003eedid_caps.max_frl_rate, both without a NULL\ncheck. dc_sink is cleared asynchronously on MST unplug, and both\nfunctions run from paths that the driver\u0027s own comments document as\nracing that teardown: the connector probe worker\u0027s -\u003emode_valid\ncallback and a compositor\u0027s atomic check, neither of which holds the\nMST manager lock that the teardown path uses. The former does have an\nexisting dsc_aux NULL check, but dsc_aux isn\u0027t reliably cleared in\nevery path that clears dc_sink, so it doesn\u0027t cover this.\n\nFail the port-support check and skip the FRL conversion path when the\nsink is already gone.\n\n(cherry picked from commit 7c3db8da4e039698ae198c870712428644e965c7)"
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-11-10T18:15:19.556Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/0189f725242087679bc9f1bbf77ad086f56a72c8"
            },
            {
              "url": "https://git.kernel.org/stable/c/5684a6c24c0d7c40ef2c4ccb3e4a64cffe76a791"
            },
            {
              "url": "https://git.kernel.org/stable/c/daa0437fe5e451856aaf8fda602a9fc2105bbd54"
            },
            {
              "url": "https://git.kernel.org/stable/c/217f64f348c90cba62164e7ff38e0ccf78a5ca09"
            }
          ],
          "title": "drm/amd/display: guard dc_sink dereferences in MST mode validation",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2026-98786",
        "datePublished": "2026-10-18T15:48:22.989Z",
        "dateReserved": "2026-09-25T10:25:14.370Z",
        "dateUpdated": "2026-11-10T18:15:19.556Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }