{
  "cveId": "CVE-2026-98797",
  "url": "https://patchblox.com/security/cve/CVE-2026-98797",
  "summary": "CVE-2026-98797 is fixed in 39 products on 1 platform, first by DEBIAN-CVE-2026-98797, released October 19, 2026. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "net: cap skb-\u003Equeue_mapping when the tx queue is picked",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  net: cap skb-\u003Equeue_mapping when the tx queue is picked  skbedit can set skb-\u003Equeue_mapping and raise the per-CPU skip_txqueue flag so __dev_queue_xmit() honours the mapping. __dev_queue_xmit() cleared the flag before sch_handle_egress() and only read it afterwards, so the flag was not confined to the xmit that set it: a nested xmit (mirred redirect or mirror, or a drop after skbedit) could set the flag and the outer xmit would consume it for an skb that never went through skbedit.  A forwarded packet still carries the ingress NIC\u0027s rx_queue \u002B 1 in skb-\u003Equeue_mapping, so the outer device then indexes its tx queue state with that stale value. Taprio\u0027s child array q-\u003Eqdiscs[] is sized to the device\u0027s queue count, so taprio_enqueue() indexes past its allocation and dereferences the result as a struct Qdisc *.  We (ab)use the skb-\u003Enf_skip_egress which means \u0022skip netfilter egress for this packet\u0022 to tag to \u0022am I in tc egress?\u0022. Despite the overload I dont see it as a conflict since the marker is set only around the single sch_handle_egress() call and ingress path is guarded by tc_at_ingress. I will send a followup(net-next) patch once this hits net-next to rename the skb-\u003Enf_skip_egress bit/flag to skb-\u003Eskip_egress  Arm the flag only from the egress classifier that can use it: raise skip_txqueue from tcf_skbedit_act() only when it runs inside sch_handle_egress(), thanks to skb-\u003Enf_skip_egress. An egress qdisc classifier runs in q-\u003Eenqueue(), after the tx queue has been picked, so a mapping it sets cannot affect the current packet; arming the flag there only pollutes it for a later xmit. Then own the flag for the xmit frame the egress hook runs in: save the incoming value and clear it just before sch_handle_egress(), and restore it after the hook - on the consumed (drop) path, or, in the same call that reads it, on the surviving path. The save and the restores stay inside the egress_needed_key static branch, so a packet pays for them only when egress hooks are active (2f1e85b1aee4).  Store the value netdev_cap_txqueue() selected back into skb-\u003Equeue_mapping in netdev_tx_queue_mapping(), as netdev_core_pick_tx() already does, so the skip_txqueue path never hands a later reader on the xmit path a mapping the device cannot serve. A store made still later in the same frame, by a tc BPF program attached to a transmit qdisc, is outside this path and is not re-capped; a separate followup will resolve that path.  netdev_xmit_skip_txqueue() returns the previous flag value so the save-and-clear is one call, and a no-op stub is provided when CONFIG_NET_EGRESS is disabled. skb-\u003Enf_skip_egress is compiled under CONFIG_NET_EGRESS rather than CONFIG_NETFILTER_SKIP_EGRESS, so skb_at_tc_egress() is valid whenever the egress path is built.  A local user in a network namespace can redirect a packet from a device with more TX queues to one with fewer after setting a mapping valid only on the larger device. That reaches these reads and, under KASAN, faults with \u0022slab-out-of-bounds in taprio_enqueue\u0022.  Conditions to recreate the bug: the report\u0027s own trigger is a local user with CAP_NET_ADMIN in a network namespace, so no eBPF program is needed. With CONFIG_NET_SCH_TAPRIO=y, CONFIG_NET_ACT_SKBEDIT=y, CONFIG_NET_ACT_MIRRED=y, CONFIG_NET_CLS_MATCHALL=y, CONFIG_NET_SCH_PRIO=y and KASAN enabled, create qa (3 queues), qb (2 queues) and qc (1 queue) as dummy devices; put a taprio root on qb (num_tc 1, queues 2@0) and clsact on all three; then add an egress matchall filter on every device. On qa: \u0022action skbedit queue_mapping 2 pipe action mirred egress redirect dev qb\u0022. On qb: \u0022action mirred egress mirror dev qc\u0022. On qc: \u0022action skbedit queue_mapping 0 pipe\u0022. Send one packet out qa. qc\u0027s skbedit sets the flag while qb\u0027s outer xmit is in flight; without the fix qb consumes it and reads its two-entry taprio child array with the forwarded packet\u0027s stale mapping. A qc whose skb ---truncated---",
  "published": "2026-10-18T16:17:33Z",
  "severity": "Moderate",
  "cvss": 6.4,
  "epss": 0.0016,
  "epssPercentile": 0.05233,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "vendorAdvisory": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-98797",
  "fixes": [
    {
      "platform": "linux",
      "product": "bpftool6.12",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "bpftool6.12-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "bpftool6.18",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "bpftool6.18-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel-livepatch-6.12.113-138.209",
      "release": "amzn 2023",
      "fixedVersion": "1:1.0-0.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel-livepatch-6.18.56-125.164",
      "release": "amzn 2023",
      "fixedVersion": "1:1.0-0.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-debuginfo-common-aarch64",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-debuginfo-common-x86_64",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-devel",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-headers",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-modules-extra",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-modules-extra-common",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-tools",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-tools-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.12-tools-devel",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-debuginfo-common-aarch64",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-debuginfo-common-x86_64",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-devel",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-headers",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-modules-extra",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-modules-extra-common",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-tools",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-tools-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "kernel6.18-tools-devel",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.12.113-1",
      "fix": "DEBIAN-CVE-2026-98797",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-98797",
      "released": "2026-10-19T16:27:52Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "7.2.10-1",
      "fix": "DEBIAN-CVE-2026-98797",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-98797",
      "released": "2026-10-19T16:27:52Z"
    },
    {
      "platform": "linux",
      "product": "linux-6.12",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.12.113-1~deb12u1",
      "fix": "DEBIAN-CVE-2026-98797",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-98797",
      "released": "2026-10-19T16:27:52Z"
    },
    {
      "platform": "linux",
      "product": "microvm-kernel6.18",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "perf6.12",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "perf6.12-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "perf6.18",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "perf6.18-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "python3-perf6.12",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "python3-perf6.12-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.12.113-138.209.amzn2023",
      "fix": "ALAS2023-2026-3335",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3335",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "python3-perf6.18",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    },
    {
      "platform": "linux",
      "product": "python3-perf6.18-debuginfo",
      "release": "amzn 2023",
      "fixedVersion": "1:6.18.56-125.164.amzn2023",
      "fix": "ALAS2023-2026-3251",
      "url": "https://patchblox.com/security/fix/linux/alas2023-2026-3251",
      "released": "2026-11-07T01:06:52Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T06:59:42Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}