GHSA-324P-252X-FJRC

Vulnerability from github – Published: 2026-08-15 15:30 – Updated: 2026-08-17 06:33
VLAI
Details

In the Linux kernel, the following vulnerability has been resolved:

nexthop: take nh->lock for f6i_list walks in replace check and notify

fib6_check_nh_list() and __nexthop_replace_notify() walk nh->f6i_list during an RTNL-serialized nexthop replace without holding nh->lock. IPv6 RTM_NEWROUTE/RTM_DELROUTE run without RTNL and mutate that list under nh->lock (fib6_add_rt2node_nh(), fib6_purge_rt()), so both walks race a concurrent route delete that unlinks and frees a fib6_info:

BUG: KASAN: slab-use-after-free in rt6_fill_node.isra.0 (net/ipv6/route.c:5799) Read of size 4 at addr ffff888014607e64 by task exploit/143 rt6_fill_node.isra.0 (net/ipv6/route.c:5799) fib6_rt_update (net/ipv6/route.c:6412) __nexthop_replace_notify (net/ipv4/nexthop.c:2542) rtm_new_nexthop (net/ipv4/nexthop.c:2554) rtnetlink_rcv_msg (net/core/rtnetlink.c:7076)

BUG: KASAN: slab-use-after-free in fib6_check_nh_list (net/ipv4/nexthop.c:1605) Read of size 8 at addr ffff888014a7d068 by task exploit/142 fib6_check_nh_list (net/ipv4/nexthop.c:1605) rtm_new_nexthop (net/ipv4/nexthop.c:2575) rtnetlink_rcv_msg (net/core/rtnetlink.c:7076)

Both walks only read the entries and take no tb6_lock, so protect them with nh->lock; fib6_rt_update() uses gfp_any(), which returns GFP_ATOMIC under the lock.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-74562"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-08-15T13:18:01Z",
    "severity": "HIGH"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnexthop: take nh-\u003elock for f6i_list walks in replace check and notify\n\nfib6_check_nh_list() and __nexthop_replace_notify() walk nh-\u003ef6i_list\nduring an RTNL-serialized nexthop replace without holding nh-\u003elock. IPv6\nRTM_NEWROUTE/RTM_DELROUTE run without RTNL and mutate that list under\nnh-\u003elock (fib6_add_rt2node_nh(), fib6_purge_rt()), so both walks race a\nconcurrent route delete that unlinks and frees a fib6_info:\n\n  BUG: KASAN: slab-use-after-free in rt6_fill_node.isra.0 (net/ipv6/route.c:5799)\n  Read of size 4 at addr ffff888014607e64 by task exploit/143\n   rt6_fill_node.isra.0 (net/ipv6/route.c:5799)\n   fib6_rt_update (net/ipv6/route.c:6412)\n   __nexthop_replace_notify (net/ipv4/nexthop.c:2542)\n   rtm_new_nexthop (net/ipv4/nexthop.c:2554)\n   rtnetlink_rcv_msg (net/core/rtnetlink.c:7076)\n\n  BUG: KASAN: slab-use-after-free in fib6_check_nh_list (net/ipv4/nexthop.c:1605)\n  Read of size 8 at addr ffff888014a7d068 by task exploit/142\n   fib6_check_nh_list (net/ipv4/nexthop.c:1605)\n   rtm_new_nexthop (net/ipv4/nexthop.c:2575)\n   rtnetlink_rcv_msg (net/core/rtnetlink.c:7076)\n\nBoth walks only read the entries and take no tb6_lock, so protect them\nwith nh-\u003elock; fib6_rt_update() uses gfp_any(), which returns GFP_ATOMIC\nunder the lock.",
  "id": "GHSA-324p-252x-fjrc",
  "modified": "2026-08-17T06:33:53Z",
  "published": "2026-08-15T15:30:36Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-74562"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/072cd1f21819dedd2252e704d255de3b0cfc61a7"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/bb2b072c619c1f741a6234257050f72005dc63ef"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}



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…

Loading…