{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-68168","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-12-16T13:41:40.250Z","datePublished":"2025-12-16T13:42:48.350Z","dateUpdated":"2026-08-05T12:09:57.842Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:09:57.842Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\njfs: fix uninitialized waitqueue in transaction manager\n\nThe transaction manager initialization in txInit() was not properly\ninitializing TxBlock[0].waitor waitqueue, causing a crash when\ntxEnd(0) is called on read-only filesystems.\n\nWhen a filesystem is mounted read-only, txBegin() returns tid=0 to\nindicate no transaction. However, txEnd(0) still gets called and\ntries to access TxBlock[0].waitor via tid_to_tblock(0), but this\nwaitqueue was never initialized because the initialization loop\nstarted at index 1 instead of 0.\n\nThis causes a 'non-static key' lockdep warning and system crash:\n  INFO: trying to register non-static key in txEnd\n\nFix by ensuring all transaction blocks including TxBlock[0] have\ntheir waitqueues properly initialized during txInit()."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable code is reached only through local filesystem operations on a mounted JFS volume (mount/remount plus ordinary syscalls such as creat/unlink/close); no remote peer data is parsed anywhere on the path.\nAC:L - Once a JFS volume has `sbi->log == NULL` (plain `mount -o ro`, remount-ro, or a failed `remount,rw` that still clears SB_RDONLY), `txBegin()` deterministically returns tid 0 and the very next `txEnd(0)` hits the uninitialized `TxBlock[0]`; there is no race to win and no memory layout the attacker must guess.\nPR:L - The trigger is an ordinary unprivileged file operation on an already-mounted volume, and the mount itself is routinely performed on the attacker's behalf by udisks/automount for removable media or by an admin handling an untrusted image — the standard crafted-filesystem-image model used for comparable fs CVEs.\nUI:N - After the volume is mounted as part of normal system operation, the attacker performs the triggering syscall entirely on their own; no victim action is needed at exploitation time.\nS:U - The corruption is confined to kernel memory within the same kernel security authority; no hypervisor, IOMMU, or sandbox boundary is crossed.\nC:H - `txEnd(0)` dereferences the uninitialized `tblk->sb` (`JFS_SBI(tblk->sb)->log`) and `__wake_up_common()` walks an uninitialized list head, so the kernel reads through pointers taken from recycled vmalloc pages — an unbounded wild read of arbitrary kernel memory, not a bounded NULL dereference.\nI:H - The same path writes through those uninitialized pointers (`--log->active`, `tblk->flag |= tblkGC_UNLOCKED`, `spin_lock_irq(&log->gclock)`) and performs an indirect call `curr->func(...)` through an uninitialized function pointer, giving both a write and a control-flow-hijack primitive; it additionally corrupts global JFS state by setting `TxAnchor.freetid = 0`.\nA:H - Real-world outcome is a hard kernel failure — lockdep \"non-static key\" BUG, wild-pointer oops, or an endless spin on a garbage spinlock with the global `jfsTxnLock` held and IRQs disabled (hard lockup) — and even in the benign case the zeroed `TxAnchor.freetid` permanently wedges every JFS transaction on the machine."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/jfs/jfs_txnmgr.c"],"versions":[{"version":"2a8807f9f511c64de0c7cc9900a1683e3d72a3e5","lessThan":"d6af7fce2e162ac68e85d3a11eb6ac8c35b24b64","status":"affected","versionType":"git"},{"version":"5c094ca994824e038b6a97835ded4e5d1d808504","lessThan":"8cae9cf23e0bd424ac904e753639a587543ce03a","status":"affected","versionType":"git"},{"version":"2febd5f81e4bfba61d9f374dcca628aff374cc56","lessThan":"a2aa97cde9857f881920635a2e3d3b11769619c5","status":"affected","versionType":"git"},{"version":"aa7cdf487ab3fa47284daaccc3d7d5de01c6a84c","lessThan":"d2dd7ca05a11685c314e62802a55e8d67a90e974","status":"affected","versionType":"git"},{"version":"95e2b352c03b0a86c5717ba1d24ea20969abcacc","lessThan":"2a9575a372182ca075070b3cd77490dcf0c951e7","status":"affected","versionType":"git"},{"version":"95e2b352c03b0a86c5717ba1d24ea20969abcacc","lessThan":"cbf2f527ae4ca7c7dabce42e85e8deb58588a37e","status":"affected","versionType":"git"},{"version":"95e2b352c03b0a86c5717ba1d24ea20969abcacc","lessThan":"038861414ab383b41dd35abbf9ff0ef715592d53","status":"affected","versionType":"git"},{"version":"95e2b352c03b0a86c5717ba1d24ea20969abcacc","lessThan":"300b072df72694ea330c4c673c035253e07827b8","status":"affected","versionType":"git"},{"version":"a88efca805bea93cea9187dfd00835aa7093bf1b","status":"affected","versionType":"git"},{"version":"97c1f26e4d4af55e8584e4646dd5c5fa7baf62c7","status":"affected","versionType":"git"},{"version":"b0ed8ed0428ee96092da6fefa5cfacbe4abed701","status":"affected","versionType":"git"},{"version":"5.4.255","lessThan":"5.4.302","status":"affected","versionType":"semver"},{"version":"5.10.192","lessThan":"5.10.247","status":"affected","versionType":"semver"},{"version":"5.15.123","lessThan":"5.15.197","status":"affected","versionType":"semver"},{"version":"6.1.42","lessThan":"6.1.159","status":"affected","versionType":"semver"},{"version":"4.14.324","lessThan":"4.15","status":"affected","versionType":"semver"},{"version":"4.19.293","lessThan":"4.20","status":"affected","versionType":"semver"},{"version":"6.4.7","lessThan":"6.5","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/jfs/jfs_txnmgr.c"],"versions":[{"version":"6.5","status":"affected"},{"version":"0","lessThan":"6.5","status":"unaffected","versionType":"semver"},{"version":"5.4.302","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.247","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.197","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.159","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.117","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.58","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.17.8","lessThanOrEqual":"6.17.*","status":"unaffected","versionType":"semver"},{"version":"6.18","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.255","versionEndExcluding":"5.4.302"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.192","versionEndExcluding":"5.10.247"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.123","versionEndExcluding":"5.15.197"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.42","versionEndExcluding":"6.1.159"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"6.6.117"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"6.12.58"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"6.17.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"6.18"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14.324"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.293"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4.7"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/d6af7fce2e162ac68e85d3a11eb6ac8c35b24b64"},{"url":"https://git.kernel.org/stable/c/8cae9cf23e0bd424ac904e753639a587543ce03a"},{"url":"https://git.kernel.org/stable/c/a2aa97cde9857f881920635a2e3d3b11769619c5"},{"url":"https://git.kernel.org/stable/c/d2dd7ca05a11685c314e62802a55e8d67a90e974"},{"url":"https://git.kernel.org/stable/c/2a9575a372182ca075070b3cd77490dcf0c951e7"},{"url":"https://git.kernel.org/stable/c/cbf2f527ae4ca7c7dabce42e85e8deb58588a37e"},{"url":"https://git.kernel.org/stable/c/038861414ab383b41dd35abbf9ff0ef715592d53"},{"url":"https://git.kernel.org/stable/c/300b072df72694ea330c4c673c035253e07827b8"}],"title":"jfs: fix uninitialized waitqueue in transaction manager","x_generator":{"engine":"bippy-1.2.0"}}}}