CVE-2024-26685

Source
https://cve.org/CVERecord?id=CVE-2024-26685
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-26685.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-26685
Downstream
Related
Published
2024-04-03T14:54:47.688Z
Modified
2026-03-14T12:29:55.790439Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
nilfs2: fix potential bug in end_buffer_async_write
Details

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

nilfs2: fix potential bug in endbufferasync_write

According to a syzbot report, endbufferasyncwrite(), which handles the completion of block device writes, may detect abnormal condition of the buffer asyncwrite flag and cause a BUG_ON failure when using nilfs2.

Nilfs2 itself does not use endbufferasyncwrite(). But, the asyncwrite flag is now used as a marker by commit 7f42ec394156 ("nilfs2: fix issue with race condition of competition between segments for dirty blocks") as a means of resolving double list insertion of dirty blocks in nilfslookupdirtydatabuffers() and nilfslookupnode_buffers() and the resulting crash.

This modification is safe as long as it is used for file data and b-tree node blocks where the page caches are independent. However, it was irrelevant and redundant to also introduce asyncwrite for segment summary and super root blocks that share buffers with the backing device. This led to the possibility that the BUGON check in endbufferasync_write would fail as described above, if independent writebacks of the backing device occurred in parallel.

The use of async_write for segment summary buffers has already been removed in a previous change.

Fix this issue by removing the manipulation of the async_write flag for the remaining super root block buffer.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/26xxx/CVE-2024-26685.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
7f42ec3941560f0902fe3671e36f2c20ffd3af0a
Fixed
c4a09fdac625e64abe478dcf88bfa20406616928
Fixed
d31c8721e816eff5ca6573cc487754f357c093cd
Fixed
f3e4963566f58726d3265a727116a42b591f6596
Fixed
8fa90634ec3e9cc50f42dd605eec60f2d146ced8
Fixed
6589f0f72f8edd1fa11adce4eedbd3615f2e78ab
Fixed
2c3bdba00283a6c7a5b19481a59a730f46063803
Fixed
626daab3811b772086aef1bf8eed3ffe6f523eff
Fixed
5bc09b397cbf1221f8a8aacb1152650c9195b02b
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
ccebcc74c81d8399c7b204aea47c1f33b09c2b17
Last affected
831c87640d23ccb253a02e4901bd9a325b5e8c2d
Last affected
d8974c7fe717ee8fb0706e35cc92e0bcdf660ec5
Last affected
8f67918af09fc0ffd426a9b6f87697976d3fbc7b

Database specific

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