padata: do not leak refcount in reorder_work
In the Linux kernel, the following vulnerability has been resolved: padata: do not leak refcount in reorder_work A recent patch that addressed a UAF introduced a reference count leak: the parallel_data refcount is incremented unconditionally, regardless of the return value of queue_work(). If the work item is already queued, the incremented refcount is never decremented. Fix this by checking the return value of queue_work() and decrementing the refcount when necessary. Resolves: Unreferenced object 0xffff9d9f421e3d80 (size 192): comm "cryptomgr_probe", pid 157, jiffies 4294694003 hex dump (first 32 bytes): 80 8b cf 41 9f 9d ff ff b8 97 e0 89 ff ff ff ff ...A............ d0 97 e0 89 ff ff ff ff 19 00 00 00 1f 88 23 00 ..............#. backtrace (crc 838fb36): __kmalloc_cache_noprof+0x284/0x320 padata_alloc_pd+0x20/0x1e0 padata_alloc_shell+0x3b/0xa0 0xffffffffc040a54d cryptomgr_probe+0x43/0xc0 kthread+0xf6/0x1f0 ret_from_fork+0x2f/0x50 ret_from_fork_asm+0x1a/0x30
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.238, 5.15.185, 6.1.141, 6.12.31, 6.14.9, 6.6.93
- CVEs
- CVE-2025-38031
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 18:35 UTC · Revision 1
Source evidence
padata: do not leak refcount in reorder_work
core-osv · Original sourcePublished 18 Jun 2025, 09:33 UTC
In the Linux kernel, the following vulnerability has been resolved: padata: do not leak refcount in reorder_work A recent patch that addressed a UAF introduced a reference count leak: the parallel_data refcount is incremented unconditionally, regardless of the return value of queue_work(). If the work item is already queued, the incremented refcount is never decremented. Fix this by checking the return value of queue_work() and decrementing the refcount when necessary. Resolves: Unreferenced object 0xffff9d9f421e3d80 (size 192): comm "cryptomgr_probe", pid 157, jiffies 4294694003 hex dump (first 32 bytes): 80 8b cf 41 9f 9d ff ff b8 97 e0 89 ff ff ff ff ...A............ d0 97 e0 89 ff ff ff ff 19 00 00 00 1f 88 23 00 ..............#. backtrace (crc 838fb36): __kmalloc_cache_noprof+0x284/0x320 padata_alloc_pd+0x20/0x1e0 padata_alloc_shell+0x3b/0xa0 0xffffffffc040a54d cryptomgr_probe+0x43/0xc0 kthread+0xf6/0x1f0 ret_from_fork+0x2f/0x50 ret_from_fork_asm+0x1a/0x30
osv:CVE-2025-38031
Kernel
Fixed versions: 5.10.238, 5.15.185, 6.1.141, 6.6.93, 6.12.31, 6.14.9
Complete source record
{
"id": "58f02e2fac77e24efb60076859712b82e2796f4543c4c54942bcaa6e34c0fed1",
"url": "https://osv.dev/vulnerability/CVE-2025-38031",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "padata: do not leak refcount in reorder_work",
"summary": "In the Linux kernel, the following vulnerability has been resolved: padata: do not leak refcount in reorder_work A recent patch that addressed a UAF introduced a reference count leak: the parallel_data refcount is incremented unconditionally, regardless of the return value of queue_work(). If the work item is already queued, the incremented refcount is never decremented. Fix this by checking the return value of queue_work() and decrementing the refcount when necessary. Resolves: Unreferenced object 0xffff9d9f421e3d80 (size 192): comm \"cryptomgr_probe\", pid 157, jiffies 4294694003 hex dump (first 32 bytes): 80 8b cf 41 9f 9d ff ff b8 97 e0 89 ff ff ff ff ...A............ d0 97 e0 89 ff ff ff ff 19 00 00 00 1f 88 23 00 ..............#. backtrace (crc 838fb36): __kmalloc_cache_noprof+0x284/0x320 padata_alloc_pd+0x20/0x1e0 padata_alloc_shell+0x3b/0xa0 0xffffffffc040a54d cryptomgr_probe+0x43/0xc0 kthread+0xf6/0x1f0 ret_from_fork+0x2f/0x50 ret_from_fork_asm+0x1a/0x30",
"evidence": "osv:CVE-2025-38031",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.238",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.185",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.141",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.93",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.31",
"evidence": "/affected/1/ranges"
},
{
"value": "6.14.9",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2025-38031",
"aliases": [
"CVE-2025-38031"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "f4f1b1169fc3694f9bc3e28c6c68dbbf4cc744c0"
},
{
"fixed": "b9ad8e50e8589607e68e6c4cefa7f72bf35a2cb1"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "4c6209efea2208597dbd3e52dc87a0d1a8f2dbe1"
},
{
"fixed": "1a426abdf1c86882c9203dd8182f3b8274b89938"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "7000507bb0d2ceb545c0a690e0c707c897d102c2"
},
{
"fixed": "cceb15864e1612ebfbc10ec4e4dcd19a10c0056c"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6f45ef616775b0ce7889b0f6077fc8d681ab30bc"
},
{
"fixed": "584a729615fa92f4de45480efb7e569d14be1516"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "8ca38d0ca8c3d30dd18d311f1a7ec5cb56972cac"
},
{
"fixed": "5300e487487d7a2e3e1e6e9d8f03ed9452e4019e"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "dd7d37ccf6b11f3d95e797ebe4e9e886d0332600"
},
{
"fixed": "1c65ae4988714716101555fe2b9830e33136d6fb"
},
{
"fixed": "d6ebcde6d4ecf34f8495fb30516645db3aea8993"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.10.235"
},
{
"fixed": "5.10.238"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.15.179"
},
{
"fixed": "5.15.185"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.1.129"
},
{
"fixed": "6.1.141"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.6.76"
},
{
"fixed": "6.6.93"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.12.13"
},
{
"fixed": "6.12.31"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.13.2"
},
{
"fixed": "6.14"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "a54091c24220a4cd847d5b4f36d678edacddbaf0"
}
]
}
],
"versions": [
"v5.10.237",
"v5.10.236",
"v5.10.235",
"v5.15.184",
"v5.15.183",
"v5.15.182",
"v5.15.181",
"v5.15.180",
"v5.15.179",
"v6.1.140",
"v6.1.139",
"v6.1.138",
"v6.1.137",
"v6.1.136",
"v6.1.135",
"v6.1.134",
"v6.1.133",
"v6.1.132",
"v6.1.131",
"v6.1.130",
"v6.1.129",
"v6.6.92",
"v6.6.91",
"v6.6.90",
"v6.6.89",
"v6.6.88",
"v6.6.87",
"v6.6.86",
"v6.6.85",
"v6.6.84",
"v6.6.83",
"v6.6.82",
"v6.6.81",
"v6.6.80",
"v6.6.79",
"v6.6.78",
"v6.6.77",
"v6.6.76",
"v6.12.30",
"v6.12.29",
"v6.12.28",
"v6.12.27",
"v6.12.26",
"v6.12.25",
"v6.12.24",
"v6.12.23",
"v6.12.22",
"v6.12.21",
"v6.12.20",
"v6.12.19",
"v6.12.18",
"v6.12.17",
"v6.12.16",
"v6.12.15",
"v6.12.14",
"v6.12.13",
"v6.13.12",
"v6.13.11",
"v6.13.10",
"v6.13.9",
"v6.13.8",
"v6.13.7",
"v6.13.6",
"v6.13.5",
"v6.13.4",
"v6.13.3",
"v6.13.2"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38031.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "5.10.238"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.185"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.141"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.93"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.31"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.14.9"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38031.json"
}
}
],
"modified": "2026-10-28T02:30:51.488571095Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/1a426abdf1c86882c9203dd8182f3b8274b89938",
"https://git.kernel.org/stable/c/1c65ae4988714716101555fe2b9830e33136d6fb",
"https://git.kernel.org/stable/c/5300e487487d7a2e3e1e6e9d8f03ed9452e4019e",
"https://git.kernel.org/stable/c/584a729615fa92f4de45480efb7e569d14be1516",
"https://git.kernel.org/stable/c/b9ad8e50e8589607e68e6c4cefa7f72bf35a2cb1",
"https://git.kernel.org/stable/c/cceb15864e1612ebfbc10ec4e4dcd19a10c0056c",
"https://git.kernel.org/stable/c/d6ebcde6d4ecf34f8495fb30516645db3aea8993",
"https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html",
"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38031.json",
"https://nvd.nist.gov/vuln/detail/CVE-2025-38031",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38031.json"
}
},
"related_cves": [
{
"value": "CVE-2025-38031",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 520106,
"published_at": "2025-06-18T09:33:18.882+00:00"
}