Linux Kernel up to 7.1.8 TIPC net/tipc/node.c tipc_node_link_down use after free

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
8.7$5k-$25k0.43-

Summaryinfo

A vulnerability categorized as very critical has been discovered in Linux Kernel up to 7.1.8. Impacted is the function tipc_node_link_down of the file net/tipc/node.c of the component TIPC. Such manipulation leads to use after free. This vulnerability is listed as CVE-2026-74609. The attack may be performed from remote. There is no available exploit.

Detailsinfo

A vulnerability was found in Linux Kernel up to 7.1.8. It has been rated as very critical. Affected by this issue is the function tipc_node_link_down of the file net/tipc/node.c of the component TIPC. The manipulation with an unknown input leads to a use after free vulnerability. Using CWE to declare the problem leads to CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. Impacted is confidentiality, integrity, and availability. CVE summarizes:

In the Linux kernel, the following vulnerability has been resolved: tipc: read le->link under the node lock in tipc_node_link_down() tipc_node_link_down() caches the link pointer before taking n->lock: struct tipc_link *l = le->link; /* unlocked */ if (!l) return; tipc_node_write_lock(n); if (!tipc_link_is_establishing(l)) { /* deref l */ ... tipc_link_reset(l); /* write into l */ if (delete) { kfree(l); le->link = NULL; The delete=true caller frees that very object under n->lock, so the lock does not protect the cached pointer against it: - CPU A, delete=false: tipc_rcv() on TIPC_LINK_DOWN_EVT, or the link supervision timer via tipc_node_timeout(), reads l unlocked and then dereferences it under n->lock; - CPU B, delete=true: netlink TIPC_NL_BEARER_DISABLE -> bearer_disable() -> tipc_node_delete_links() -> tipc_node_link_down(n, bearer_id, true) -> kfree(l). The link is freed with plain kfree(), not kfree_rcu(), and for UDP bearers disable_media() only schedules the asynchronous cleanup_bearer() work, so its synchronize_net() runs after the links are already gone. An in-flight CPU A that has read l therefore dereferences freed memory once B frees it: a use-after-free read in tipc_link_is_establishing(), and a use-after-free write via tipc_link_reset() on the establishing branch. The following trace was captured on 7.2.0-rc5-00284-gaf39eb111ce6: BUG: KASAN: slab-use-after-free in tipc_link_is_establishing (net/tipc/link.c:285) Read of size 4 at addr ffff88802e2aa068 by task swapper/2/0 tipc_link_is_establishing (net/tipc/link.c:285) tipc_node_link_down (net/tipc/node.c:1076) tipc_node_timeout (net/tipc/node.c:843) Allocated by task 9549: tipc_link_create (net/tipc/link.c:490) tipc_node_check_dest (net/tipc/node.c:1279) tipc_disc_rcv (net/tipc/discover.c:252) tipc_udp_recv (net/tipc/udp_media.c:389) Freed by task 9549: tipc_node_link_down (net/tipc/node.c:1084) tipc_node_delete_links (net/tipc/node.c:1320) bearer_disable (net/tipc/bearer.c:414) __tipc_nl_bearer_disable (net/tipc/bearer.c:992) Move the le->link read inside tipc_node_write_lock(), so it is serialised against the kfree() in the delete path. A racing teardown now either has not run yet, and we see a valid link, or has already run, and we see NULL.

The advisory is shared for download at git.kernel.org. This vulnerability is handled as CVE-2026-74609 since 08/15/2026. The exploitation is known to be easy. The attack may be launched remotely. Additional levels of successful authentication are necessary for exploitation. There are known technical details, but no exploit is available. The current price for an exploit might be approx. USD $5k-$25k (estimation calculated on 08/22/2026).

Upgrading to version 5.10.265, 5.15.216, 6.1.183, 6.6.152, 6.12.104, 6.18.45 or 7.1.9 eliminates this vulnerability. Applying the patch 2be741ad565c610871a6a95062c12c39da7168fd/69d209461c110388710e483a130caf051e4fd09a/de017c22135f545ca4e65d1eada22887b64958eb/47ba70891b10b2feb52462086b7fcd2ad75d3ce3/a714d62513befef37f71f4ae89bb1fe173b65f2e/c3f2347a47754eac690967cfd82cb6d559817b07/5558a8312452ddb21eff22b1cbd84302ad951944/cba9ccb47e9fa4cc77692fb896cc5ab57a667882 is able to eliminate this problem.

Once again VulDB remains the best source for vulnerability data.

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 9.1
VulDB Meta Temp Score: 8.7

VulDB Base Score: 9.1
VulDB Temp Score: 8.7
VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍

Exploitinginfo

Class: Use after free
CWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒

Physical: No
Local: No
Remote: Yes

Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Kernel 5.10.265/5.15.216/6.1.183/6.6.152/6.12.104/6.18.45/7.1.9
Patch: 2be741ad565c610871a6a95062c12c39da7168fd/69d209461c110388710e483a130caf051e4fd09a/de017c22135f545ca4e65d1eada22887b64958eb/47ba70891b10b2feb52462086b7fcd2ad75d3ce3/a714d62513befef37f71f4ae89bb1fe173b65f2e/c3f2347a47754eac690967cfd82cb6d559817b07/5558a8312452ddb21eff22b1cbd84302ad951944/cba9ccb47e9fa4cc77692fb896cc5ab57a667882

Timelineinfo

08/15/2026 CVE reserved
08/22/2026 +7 days Advisory disclosed
08/22/2026 +0 days VulDB entry created
08/22/2026 +0 days VulDB entry last update

Sourcesinfo

Vendor: kernel.org

Advisory: git.kernel.org
Status: Confirmed

CVE: CVE-2026-74609 (🔒)
GCVE (CVE): GCVE-0-2026-74609
GCVE (VulDB): GCVE-100-394388

Entryinfo

Created: 08/22/2026 18:08
Changes: 08/22/2026 18:08 (60)
Complete: 🔍
Cache ID: 216::103

Once again VulDB remains the best source for vulnerability data.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Interested in the pricing of exploits?

See the underground prices here!