CVE-2026-23140 (GCVE-0-2026-23140)

Vulnerability from cvelistv5 – Published: 2026-02-14 15:22 – Updated: 2026-02-14 15:22
VLAI?
Title
bpf, test_run: Subtract size of xdp_frame from allowed metadata size
Summary
In the Linux kernel, the following vulnerability has been resolved: bpf, test_run: Subtract size of xdp_frame from allowed metadata size The xdp_frame structure takes up part of the XDP frame headroom, limiting the size of the metadata. However, in bpf_test_run, we don't take this into account, which makes it possible for userspace to supply a metadata size that is too large (taking up the entire headroom). If userspace supplies such a large metadata size in live packet mode, the xdp_update_frame_from_buff() call in xdp_test_run_init_page() call will fail, after which packet transmission proceeds with an uninitialised frame structure, leading to the usual Bad Stuff. The commit in the Fixes tag fixed a related bug where the second check in xdp_update_frame_from_buff() could fail, but did not add any additional constraints on the metadata size. Complete the fix by adding an additional check on the metadata size. Reorder the checks slightly to make the logic clearer and add a comment.
Severity ?
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: b6f1f780b3932ae497ed85e79bc8a1e513883624 , < e7440935063949d6f2c10f7328d960d0ff4bce90 (git)
Affected: b6f1f780b3932ae497ed85e79bc8a1e513883624 , < 7c81ad5e580bd8441f8a521a8d34824ce6582ae5 (git)
Affected: b6f1f780b3932ae497ed85e79bc8a1e513883624 , < 6447e697cfa8a43a8e491cb81bcc390d0f28f8ba (git)
Affected: b6f1f780b3932ae497ed85e79bc8a1e513883624 , < 31e37f44b60679d90b9f999c91371b15291be8e0 (git)
Affected: b6f1f780b3932ae497ed85e79bc8a1e513883624 , < e558cca217790286e799a8baacd1610bda31b261 (git)
Create a notification for this product.
    Linux Linux Affected: 5.18
Unaffected: 0 , < 5.18 (semver)
Unaffected: 6.1.161 , ≤ 6.1.* (semver)
Unaffected: 6.6.121 , ≤ 6.6.* (semver)
Unaffected: 6.12.66 , ≤ 6.12.* (semver)
Unaffected: 6.18.6 , ≤ 6.18.* (semver)
Unaffected: 6.19 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/bpf/test_run.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e7440935063949d6f2c10f7328d960d0ff4bce90",
              "status": "affected",
              "version": "b6f1f780b3932ae497ed85e79bc8a1e513883624",
              "versionType": "git"
            },
            {
              "lessThan": "7c81ad5e580bd8441f8a521a8d34824ce6582ae5",
              "status": "affected",
              "version": "b6f1f780b3932ae497ed85e79bc8a1e513883624",
              "versionType": "git"
            },
            {
              "lessThan": "6447e697cfa8a43a8e491cb81bcc390d0f28f8ba",
              "status": "affected",
              "version": "b6f1f780b3932ae497ed85e79bc8a1e513883624",
              "versionType": "git"
            },
            {
              "lessThan": "31e37f44b60679d90b9f999c91371b15291be8e0",
              "status": "affected",
              "version": "b6f1f780b3932ae497ed85e79bc8a1e513883624",
              "versionType": "git"
            },
            {
              "lessThan": "e558cca217790286e799a8baacd1610bda31b261",
              "status": "affected",
              "version": "b6f1f780b3932ae497ed85e79bc8a1e513883624",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/bpf/test_run.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.18"
            },
            {
              "lessThan": "5.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.161",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.121",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.66",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.19",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.161",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.121",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.66",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.6",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf, test_run: Subtract size of xdp_frame from allowed metadata size\n\nThe xdp_frame structure takes up part of the XDP frame headroom,\nlimiting the size of the metadata. However, in bpf_test_run, we don\u0027t\ntake this into account, which makes it possible for userspace to supply\na metadata size that is too large (taking up the entire headroom).\n\nIf userspace supplies such a large metadata size in live packet mode,\nthe xdp_update_frame_from_buff() call in xdp_test_run_init_page() call\nwill fail, after which packet transmission proceeds with an\nuninitialised frame structure, leading to the usual Bad Stuff.\n\nThe commit in the Fixes tag fixed a related bug where the second check\nin xdp_update_frame_from_buff() could fail, but did not add any\nadditional constraints on the metadata size. Complete the fix by adding\nan additional check on the metadata size. Reorder the checks slightly to\nmake the logic clearer and add a comment."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-02-14T15:22:24.727Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e7440935063949d6f2c10f7328d960d0ff4bce90"
        },
        {
          "url": "https://git.kernel.org/stable/c/7c81ad5e580bd8441f8a521a8d34824ce6582ae5"
        },
        {
          "url": "https://git.kernel.org/stable/c/6447e697cfa8a43a8e491cb81bcc390d0f28f8ba"
        },
        {
          "url": "https://git.kernel.org/stable/c/31e37f44b60679d90b9f999c91371b15291be8e0"
        },
        {
          "url": "https://git.kernel.org/stable/c/e558cca217790286e799a8baacd1610bda31b261"
        }
      ],
      "title": "bpf, test_run: Subtract size of xdp_frame from allowed metadata size",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-23140",
    "datePublished": "2026-02-14T15:22:24.727Z",
    "dateReserved": "2026-01-13T15:37:45.972Z",
    "dateUpdated": "2026-02-14T15:22:24.727Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-23140\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-02-14T16:15:54.060\",\"lastModified\":\"2026-02-14T16:15:54.060\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbpf, test_run: Subtract size of xdp_frame from allowed metadata size\\n\\nThe xdp_frame structure takes up part of the XDP frame headroom,\\nlimiting the size of the metadata. However, in bpf_test_run, we don\u0027t\\ntake this into account, which makes it possible for userspace to supply\\na metadata size that is too large (taking up the entire headroom).\\n\\nIf userspace supplies such a large metadata size in live packet mode,\\nthe xdp_update_frame_from_buff() call in xdp_test_run_init_page() call\\nwill fail, after which packet transmission proceeds with an\\nuninitialised frame structure, leading to the usual Bad Stuff.\\n\\nThe commit in the Fixes tag fixed a related bug where the second check\\nin xdp_update_frame_from_buff() could fail, but did not add any\\nadditional constraints on the metadata size. Complete the fix by adding\\nan additional check on the metadata size. Reorder the checks slightly to\\nmake the logic clearer and add a comment.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/31e37f44b60679d90b9f999c91371b15291be8e0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6447e697cfa8a43a8e491cb81bcc390d0f28f8ba\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7c81ad5e580bd8441f8a521a8d34824ce6582ae5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e558cca217790286e799a8baacd1610bda31b261\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e7440935063949d6f2c10f7328d960d0ff4bce90\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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 observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…