CVE-2025-68319

Source
https://cve.org/CVERecord?id=CVE-2025-68319
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-68319.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-68319
Downstream
Published
2025-12-16T15:39:48.903Z
Modified
2025-12-16T20:27:54.681979Z
Summary
netconsole: Acquire su_mutex before navigating configs hierarchy
Details

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

netconsole: Acquire su_mutex before navigating configs hierarchy

There is a race between operations that iterate over the userdata cgchildren list and concurrent add/remove of userdata items through configfs. The updateuserdata() function iterates over the nt->userdatagroup.cgchildren list, and countextradataentries() also iterates over this same list to count nodes.

Quoting from Documentation/filesystems/configfs.rst:

A subsystem can navigate the cgchildren list and the ciparent pointer to see the tree created by the subsystem. This can race with configfs' management of the hierarchy, so configfs uses the subsystem mutex to protect modifications. Whenever a subsystem wants to navigate the hierarchy, it must do so under the protection of the subsystem mutex.

Without proper locking, if a userdata item is added or removed concurrently while these functions are iterating, the list can be accessed in an inconsistent state. For example, the listforeach() loop can reach a node that is being removed from the list by listdelinit() which sets the nodes' .next pointer to point to itself, so the loop will never end (or reach the WARNONONCE in update_userdata() ).

Fix this by holding the configfs subsystem mutex (sumutex) during all operations that iterate over cgchildren. This includes: - userdatumvaluestore() which calls updateuserdata() to iterate over cgchildren - All sysdata*enabledstore() functions which call countextradataentries() to iterate over cgchildren

The sumutex must be acquired before dynamicnetconsolemutex to avoid potential lock ordering issues, as configfs operations may already hold sumutex when calling into our code.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/68xxx/CVE-2025-68319.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
df03f830d099f0811281a222aefdd9d400fa0b72
Fixed
ff70aa7e8cf05745fdba7258952a8bedf33ea336
Fixed
d7d2fcf7ae31471b4e08b7e448b8fd0ec2e06a1b

Affected versions

v6.*
v6.10
v6.10-rc1
v6.10-rc2
v6.10-rc3
v6.10-rc4
v6.10-rc5
v6.10-rc6
v6.10-rc7
v6.11
v6.11-rc1
v6.11-rc2
v6.11-rc3
v6.11-rc4
v6.11-rc5
v6.11-rc6
v6.11-rc7
v6.12
v6.12-rc1
v6.12-rc2
v6.12-rc3
v6.12-rc4
v6.12-rc5
v6.12-rc6
v6.12-rc7
v6.13
v6.13-rc1
v6.13-rc2
v6.13-rc3
v6.13-rc4
v6.13-rc5
v6.13-rc6
v6.13-rc7
v6.14
v6.14-rc1
v6.14-rc2
v6.14-rc3
v6.14-rc4
v6.14-rc5
v6.14-rc6
v6.14-rc7
v6.15
v6.15-rc1
v6.15-rc2
v6.15-rc3
v6.15-rc4
v6.15-rc5
v6.15-rc6
v6.15-rc7
v6.16
v6.16-rc1
v6.16-rc2
v6.16-rc3
v6.16-rc4
v6.16-rc5
v6.16-rc6
v6.16-rc7
v6.17
v6.17-rc1
v6.17-rc2
v6.17-rc3
v6.17-rc4
v6.17-rc5
v6.17-rc6
v6.17-rc7
v6.17.1
v6.17.2
v6.17.3
v6.17.4
v6.17.5
v6.17.6
v6.17.7
v6.18-rc1
v6.18-rc2
v6.18-rc3
v6.8
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5
v6.9-rc6
v6.9-rc7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-68319.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.9.0
Fixed
6.17.8

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-68319.json"