CVE-2026-53069 (GCVE-0-2026-53069)
Vulnerability from cvelistv5
Published
2026-06-24 16:30
Modified
2026-08-05 12:33
Summary
In the Linux kernel, the following vulnerability has been resolved: net, bpf: fix null-ptr-deref in xdp_master_redirect() for down master syzkaller reported a kernel panic in bond_rr_gen_slave_id() reached via xdp_master_redirect(). Full decoded trace: https://syzkaller.appspot.com/bug?extid=80e046b8da2820b6ba73 bond_rr_gen_slave_id() dereferences bond->rr_tx_counter, a per-CPU counter that bonding only allocates in bond_open() when the mode is round-robin. If the bond device was never brought up, rr_tx_counter stays NULL. The XDP redirect path can still reach that code on a bond that was never opened: bpf_master_redirect_enabled_key is a global static key, so as soon as any bond device has native XDP attached, the XDP_TX -> xdp_master_redirect() interception is enabled for every slave system-wide. The path xdp_master_redirect() -> bond_xdp_get_xmit_slave() -> bond_xdp_xmit_roundrobin_slave_get() -> bond_rr_gen_slave_id() then runs against a bond that has no rr_tx_counter and crashes. Fix this in the generic xdp_master_redirect() by refusing to call into the master's ->ndo_xdp_get_xmit_slave() when the master device is not up. IFF_UP is only set after ->ndo_open() has successfully returned, so this reliably excludes masters whose XDP state has not been fully initialized. Drop the frame with XDP_ABORTED so the exception is visible via trace_xdp_exception() rather than silently falling through. This is not specific to bonding: any current or future master that defers XDP state allocation to ->ndo_open() is protected.
Impacted products
Vendor Product Version
Linux Linux Version: 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7
Version: 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7
Version: 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7
Version: 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7
Version: 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7
Version: 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7
Version: 879af96ffd72706c6e3278ea6b45b0b0e37ec5d7
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/core/filter.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "3128b294b426533c8d9162187446d93a8a160359",
              "status": "affected",
              "version": "879af96ffd72706c6e3278ea6b45b0b0e37ec5d7",
              "versionType": "git"
            },
            {
              "lessThan": "acbf45bd584d924b320bee2a7fe2a26f64904d95",
              "status": "affected",
              "version": "879af96ffd72706c6e3278ea6b45b0b0e37ec5d7",
              "versionType": "git"
            },
            {
              "lessThan": "866d3d9b87751b1944168fd82615505e0c0fd6cf",
              "status": "affected",
              "version": "879af96ffd72706c6e3278ea6b45b0b0e37ec5d7",
              "versionType": "git"
            },
            {
              "lessThan": "183128da0406b1c10e6f60b7b9fe70788b9c8c1d",
              "status": "affected",
              "version": "879af96ffd72706c6e3278ea6b45b0b0e37ec5d7",
              "versionType": "git"
            },
            {
              "lessThan": "7bad93e99737e4a5c0c14ac50c05152cf4e28022",
              "status": "affected",
              "version": "879af96ffd72706c6e3278ea6b45b0b0e37ec5d7",
              "versionType": "git"
            },
            {
              "lessThan": "ea690b3b6e58ae00979af8195b4cc24df466b65e",
              "status": "affected",
              "version": "879af96ffd72706c6e3278ea6b45b0b0e37ec5d7",
              "versionType": "git"
            },
            {
              "lessThan": "1921f91298d1388a0bb9db8f83800c998b649cb3",
              "status": "affected",
              "version": "879af96ffd72706c6e3278ea6b45b0b0e37ec5d7",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/core/filter.c"
          ],
          "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": "5.15.*",
              "status": "unaffected",
              "version": "5.15.209",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.175",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.141",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.91",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.33",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.10",
              "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": "5.15.209",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.175",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.141",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.91",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.33",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.10",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet, bpf: fix null-ptr-deref in xdp_master_redirect() for down master\n\nsyzkaller reported a kernel panic in bond_rr_gen_slave_id() reached via\nxdp_master_redirect(). Full decoded trace:\n\n  https://syzkaller.appspot.com/bug?extid=80e046b8da2820b6ba73\n\nbond_rr_gen_slave_id() dereferences bond-\u003err_tx_counter, a per-CPU\ncounter that bonding only allocates in bond_open() when the mode is\nround-robin. If the bond device was never brought up, rr_tx_counter\nstays NULL.\n\nThe XDP redirect path can still reach that code on a bond that was\nnever opened: bpf_master_redirect_enabled_key is a global static key,\nso as soon as any bond device has native XDP attached, the\nXDP_TX -\u003e xdp_master_redirect() interception is enabled for every\nslave system-wide. The path xdp_master_redirect() -\u003e\nbond_xdp_get_xmit_slave() -\u003e bond_xdp_xmit_roundrobin_slave_get() -\u003e\nbond_rr_gen_slave_id() then runs against a bond that has no\nrr_tx_counter and crashes.\n\nFix this in the generic xdp_master_redirect() by refusing to call into\nthe master\u0027s -\u003endo_xdp_get_xmit_slave() when the master device is not\nup. IFF_UP is only set after -\u003endo_open() has successfully returned,\nso this reliably excludes masters whose XDP state has not been fully\ninitialized. Drop the frame with XDP_ABORTED so the exception is\nvisible via trace_xdp_exception() rather than silently falling through.\nThis is not specific to bonding: any current or future master that\ndefers XDP state allocation to -\u003endo_open() is protected."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The vulnerable XDP receive path can be reached by packets arriving on a bonding slave when the installed XDP program returns XDP_TX. A local BPF_PROG_TEST_RUN trigger also exists, but Network is the higher defensible vector for a deployed XDP/bonding system.\nAC:L - There is no race or heap-shaping requirement; once the affected bond/XDP state exists, an XDP_TX packet deterministically reaches the NULL rr_tx_counter dereference. The attacker only needs to supply traffic matching the XDP_TX path.\nPR:N - In the network-triggered scenario, the attacker needs no account or kernel capabilities on the target and only sends packets to the affected interface. Local setup paths require capabilities, but they are not required for the remote packet trigger on an already vulnerable deployment.\nUI:N - No victim user action is needed once the affected bond/XDP configuration is present. Packet delivery or BPF test execution triggers the fault directly.\nS:U - The impact is within the same kernel security authority. There is no VM escape, IOMMU bypass, or other cross-scope boundary crossing.\nC:N - The bug is a NULL pointer dereference of bonding\u0027s unallocated per-CPU rr_tx_counter. It does not expose kernel memory or provide a read primitive.\nI:N - The dereferenced pointer is NULL and not attacker-controlled, so this is not an arbitrary write or control-flow corruption primitive. The demonstrated effect is a crash.\nA:H - The NULL dereference causes a kernel oops/panic in bond_rr_gen_slave_id(). This is a high availability impact."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:33:03.685Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/3128b294b426533c8d9162187446d93a8a160359"
        },
        {
          "url": "https://git.kernel.org/stable/c/acbf45bd584d924b320bee2a7fe2a26f64904d95"
        },
        {
          "url": "https://git.kernel.org/stable/c/866d3d9b87751b1944168fd82615505e0c0fd6cf"
        },
        {
          "url": "https://git.kernel.org/stable/c/183128da0406b1c10e6f60b7b9fe70788b9c8c1d"
        },
        {
          "url": "https://git.kernel.org/stable/c/7bad93e99737e4a5c0c14ac50c05152cf4e28022"
        },
        {
          "url": "https://git.kernel.org/stable/c/ea690b3b6e58ae00979af8195b4cc24df466b65e"
        },
        {
          "url": "https://git.kernel.org/stable/c/1921f91298d1388a0bb9db8f83800c998b649cb3"
        }
      ],
      "title": "net, bpf: fix null-ptr-deref in xdp_master_redirect() for down master",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-53069",
    "datePublished": "2026-06-24T16:30:10.930Z",
    "dateReserved": "2026-06-09T07:44:35.382Z",
    "dateUpdated": "2026-08-05T12:33:03.685Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…