nilfs2: fix potential bug in end_buffer_async_write (Linux Linux)

CVE-2024-26685
MEDIUM 5.5

En bref

Source
NVD
EPSS
EPSS 0.25 % · centile 16 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
Linux
Statut NVD
Analyzed

Description

In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix potential bug in end_buffer_async_write According to a syzbot report, end_buffer_async_write(), which handles the completion of block device writes, may detect abnormal condition of the buffer async_write flag and cause a BUG_ON failure when using nilfs2. Nilfs2 itself does not use end_buffer_async_write(). But, the async_write 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 nilfs_lookup_dirty_data_buffers() and nilfs_lookup_node_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 async_write for segment summary and super root blocks that share buffers with the backing device. This led to the possibility that the BUG_ON check in end_buffer_async_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.

Faiblesses (CWE)

  • CWE-787 — Écriture hors limites

Références

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · 134c704f-9b21-4f2e-91b3-4a467353bcc0 (Secondary)

Références européennes

Avis du CERT-FR

Configurations affectées (CPE NVD)

Produits affectés

ProduitVersions
Linux · Linuxaffected 7f42ec3941560f0902fe3671e36f2c20ffd3af0a < c4a09fdac625e64abe478dcf88bfa20406616928 ; affected 7f42ec3941560f0902fe3671e36f2c20ffd3af0a < d31c8721e816eff5ca6573cc487754f357c093cd ; affected 7f42ec3941560f0902fe3671e36f2c20ffd3af0a < f3e4963566f58726d3265a727116a42b591f6596 ; affected 7f42ec3941560f0902fe3671e36f2c20ffd3af0a < 8fa90634ec3e9cc50f42dd605eec60f2d146ced8 ; affected 7f42ec3941560f0902fe3671e36f2c20ffd3af0a < 6589f0f72f8edd1fa11adce4eedbd3615f2e78ab ; affected 7f42ec3941560f0902fe3671e36f2c20ffd3af0a < 2c3bdba00283a6c7a5b19481a59a730f46063803
Linux · Linuxaffected 3.12 ; unaffected 0 < 3.12 ; unaffected 4.19.307 ≤ 4.19.* ; unaffected 5.4.269 ≤ 5.4.* ; unaffected 5.10.210 ≤ 5.10.* ; unaffected 5.15.149 ≤ 5.15.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD