CVE-2026-72254 (GCVE-0-2026-72254)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:54 – Updated: 2026-08-17 05:42
VLAI
Title
netfilter: nft_fib: reject fib expression on the netdev egress hook
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_fib: reject fib expression on the netdev egress hook A fib expression in a netdev egress base chain dereferences nft_in(pkt), NULL on the transmit path, causing a NULL pointer dereference at eval. nft_fib_validate() masks the hook with NF_INET_* values, but netdev hook numbers are a separate enum that aliases them (NF_NETDEV_EGRESS == NF_INET_LOCAL_IN), so an egress chain passes validation and then faults. Add nft_fib_netdev_validate() that limits each result/flag to the netdev hook where the device it reads exists: the input-device cases (OIF, OIFNAME, ADDRTYPE with F_IIF) to ingress, the output-device case (ADDRTYPE with F_OIF) to egress, ADDRTYPE with no device flag to both. Also restrict nft_fib_validate() to NFPROTO_IPV4/IPV6/INET so its NF_INET_* masks are not applied to another family's hooks.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 42df6e1d221dddc0f2acf2be37e68d553ad65f96 , < 4fee43759b489559a491f7c95f9bfa7a1d0c7a10 (git)
Affected: 42df6e1d221dddc0f2acf2be37e68d553ad65f96 , < 568931f26af4727a51e8521f72efbc78d3b82410 (git)
Affected: 42df6e1d221dddc0f2acf2be37e68d553ad65f96 , < d01c913febead04a01a5f3a6374d1f45504dc523 (git)
Affected: 42df6e1d221dddc0f2acf2be37e68d553ad65f96 , < f68305267ebda7e839b5e8f77e8d77535a3d5a0f (git)
Affected: 42df6e1d221dddc0f2acf2be37e68d553ad65f96 , < d07955dd34ecae17d35d8c7d0a273a3fba653a8c (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.16
Unaffected: 0 , < 5.16 (semver)
Unaffected: 6.6.148 , ≤ 6.6.* (semver)
Unaffected: 6.12.101 , ≤ 6.12.* (semver)
Unaffected: 6.18.42 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/netfilter/nft_fib.c",
            "net/netfilter/nft_fib_netdev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "4fee43759b489559a491f7c95f9bfa7a1d0c7a10",
              "status": "affected",
              "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
              "versionType": "git"
            },
            {
              "lessThan": "568931f26af4727a51e8521f72efbc78d3b82410",
              "status": "affected",
              "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
              "versionType": "git"
            },
            {
              "lessThan": "d01c913febead04a01a5f3a6374d1f45504dc523",
              "status": "affected",
              "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
              "versionType": "git"
            },
            {
              "lessThan": "f68305267ebda7e839b5e8f77e8d77535a3d5a0f",
              "status": "affected",
              "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
              "versionType": "git"
            },
            {
              "lessThan": "d07955dd34ecae17d35d8c7d0a273a3fba653a8c",
              "status": "affected",
              "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/netfilter/nft_fib.c",
            "net/netfilter/nft_fib_netdev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.16"
            },
            {
              "lessThan": "5.16",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.148",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.101",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.148",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.101",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.42",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_fib: reject fib expression on the netdev egress hook\n\nA fib expression in a netdev egress base chain dereferences nft_in(pkt),\nNULL on the transmit path, causing a NULL pointer dereference at eval.\nnft_fib_validate() masks the hook with NF_INET_* values, but netdev hook\nnumbers are a separate enum that aliases them (NF_NETDEV_EGRESS ==\nNF_INET_LOCAL_IN), so an egress chain passes validation and then faults.\n\nAdd nft_fib_netdev_validate() that limits each result/flag to the netdev\nhook where the device it reads exists: the input-device cases (OIF,\nOIFNAME, ADDRTYPE with F_IIF) to ingress, the output-device case (ADDRTYPE\nwith F_OIF) to egress, ADDRTYPE with no device flag to both. Also restrict\nnft_fib_validate() to NFPROTO_IPV4/IPV6/INET so its NF_INET_* masks are\nnot applied to another family\u0027s hooks."
        }
      ],
      "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 - Once a netdev egress fib rule is installed, evaluation runs on the packet transmit datapath (nf_hook_egress in __dev_queue_xmit); a remote peer can trigger it by causing the host to send matching IPv4/IPv6 traffic through the hooked interface, matching prior netfilter CNA treatment of pre-deployed nftables rules (e.g. CVE-2026-52998).\nAC:L - No race or uncontrollable victim state is required; with an affected egress fib rule present, the attacker reliably triggers the NULL dereference on the next matching outbound packet by controlling protocol headers and normal connection traffic.\nPR:N - Runtime exploitation needs only network traffic through the netdev egress hook; although installing the fib rule requires CAP_NET_ADMIN, validation incorrectly accepts it as legal, so orchestration or administrators can deploy it and remote attackers need no target credentials or local privileges.\nUI:N - No victim interaction is required beyond ordinary network traffic processing; the kernel automatically evaluates the fib expression on egress without mounts, file opens, or user prompts.\nS:U - Impact is a kernel NULL-pointer fault and host-wide denial of service within the same kernel/network-filtering security authority; it does not constitute VM escape, IOMMU bypass, or another cross-authority boundary change.\nC:N - The failure mode is a NULL pointer dereference of nft_in(pkt) on egress (in is NULL in nf_hook_state_init); there is no use-after-free, out-of-bounds read, or other attacker-controlled memory disclosure primitive.\nI:N - The bug does not corrupt writable memory or provide control-flow hijack; it only dereferences a NULL input device pointer during fib lookup/skipping and cannot modify kernel or user data beyond the immediate fault.\nA:H - The NULL dereference in nft_fib_netdev_eval/nft_fib4_eval/nft_fib6_eval on netdev egress causes a kernel oops/panic-class fault during packet transmission, denying system availability until reboot."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:42:07.408Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/4fee43759b489559a491f7c95f9bfa7a1d0c7a10"
        },
        {
          "url": "https://git.kernel.org/stable/c/568931f26af4727a51e8521f72efbc78d3b82410"
        },
        {
          "url": "https://git.kernel.org/stable/c/d01c913febead04a01a5f3a6374d1f45504dc523"
        },
        {
          "url": "https://git.kernel.org/stable/c/f68305267ebda7e839b5e8f77e8d77535a3d5a0f"
        },
        {
          "url": "https://git.kernel.org/stable/c/d07955dd34ecae17d35d8c7d0a273a3fba653a8c"
        }
      ],
      "title": "netfilter: nft_fib: reject fib expression on the netdev egress hook",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72254",
    "datePublished": "2026-08-15T05:54:42.239Z",
    "dateReserved": "2026-08-09T03:40:39.915Z",
    "dateUpdated": "2026-08-17T05:42:07.408Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72254",
      "date": "2026-09-21",
      "epss": "0.00595",
      "percentile": "0.46871"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "net/netfilter/nft_fib.c",
                  "net/netfilter/nft_fib_netdev.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "4fee43759b489559a491f7c95f9bfa7a1d0c7a10",
                    "status": "affected",
                    "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "568931f26af4727a51e8521f72efbc78d3b82410",
                    "status": "affected",
                    "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d01c913febead04a01a5f3a6374d1f45504dc523",
                    "status": "affected",
                    "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "f68305267ebda7e839b5e8f77e8d77535a3d5a0f",
                    "status": "affected",
                    "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d07955dd34ecae17d35d8c7d0a273a3fba653a8c",
                    "status": "affected",
                    "version": "42df6e1d221dddc0f2acf2be37e68d553ad65f96",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "net/netfilter/nft_fib.c",
                  "net/netfilter/nft_fib_netdev.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.16"
                  },
                  {
                    "lessThan": "5.16",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.148",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.101",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.42",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_fib: reject fib expression on the netdev egress hook\n\nA fib expression in a netdev egress base chain dereferences nft_in(pkt),\nNULL on the transmit path, causing a NULL pointer dereference at eval.\nnft_fib_validate() masks the hook with NF_INET_* values, but netdev hook\nnumbers are a separate enum that aliases them (NF_NETDEV_EGRESS ==\nNF_INET_LOCAL_IN), so an egress chain passes validation and then faults.\n\nAdd nft_fib_netdev_validate() that limits each result/flag to the netdev\nhook where the device it reads exists: the input-device cases (OIF,\nOIFNAME, ADDRTYPE with F_IIF) to ingress, the output-device case (ADDRTYPE\nwith F_OIF) to egress, ADDRTYPE with no device flag to both. Also restrict\nnft_fib_validate() to NFPROTO_IPV4/IPV6/INET so its NF_INET_* masks are\nnot applied to another family\u0027s hooks."
          }
        ],
        "id": "CVE-2026-72254",
        "lastModified": "2026-08-17T06:18:27.610",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 3.9,
              "impactScore": 3.6,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-08-15T06:21:52.910",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/4fee43759b489559a491f7c95f9bfa7a1d0c7a10"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/568931f26af4727a51e8521f72efbc78d3b82410"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d01c913febead04a01a5f3a6374d1f45504dc523"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d07955dd34ecae17d35d8c7d0a273a3fba653a8c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/f68305267ebda7e839b5e8f77e8d77535a3d5a0f"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-08-19T05:24:46+00:00",
      "cve": "CVE-2026-72254",
      "id": "CVE-2026-72254",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: netfilter: nft_fib: reject fib expression on the netdev egress hook",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72254.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-18T00:28:34Z",
      "cve": "CVE-2026-72254",
      "id": "CVE-2026-72254",
      "initial_release_date": "2026-08-28T01:00:13Z",
      "product_status:known_affected": "576",
      "product_status:known_not_affected": "143",
      "product_status:recommended": "107",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-72254",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-72254.json",
      "version": "10"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

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…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…