erofs: kill hooked chains to avoid loops on deduplicated compressed images (Linux Linux)

CVE-2023-53777
Not available

At a glance

Source
NVD
EPSS
EPSS 0.20 % · percentile 10 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Deferred

Description

In the Linux kernel, the following vulnerability has been resolved: erofs: kill hooked chains to avoid loops on deduplicated compressed images After heavily stressing EROFS with several images which include a hand-crafted image of repeated patterns for more than 46 days, I found two chains could be linked with each other almost simultaneously and form a loop so that the entire loop won't be submitted. As a consequence, the corresponding file pages will remain locked forever. It can be _only_ observed on data-deduplicated compressed images. For example, consider two chains with five pclusters in total: Chain 1: 2->3->4->5 -- The tail pcluster is 5; Chain 2: 5->1->2 -- The tail pcluster is 2. Chain 2 could link to Chain 1 with pcluster 5; and Chain 1 could link to Chain 2 at the same time with pcluster 2. Since hooked chains are all linked locklessly now, I have no idea how to simply avoid the race. Instead, let's avoid hooked chains completely until I could work out a proper way to fix this and end users finally tell us that it's needed to add it back. Actually, this optimization can be found with multi-threaded workloads (especially even more often on deduplicated compressed images), yet I'm not sure about the overall system impacts of not having this compared with implementation complexity.

References

European references

CERT-FR advisories

Affected products

ProductVersions
Linux · Linuxaffected 267f2492c8f71dac44399988b510f9bf6b074a51 < d3b39ea24835ac03da1a30f93ae7c05d55a40191 ; affected 267f2492c8f71dac44399988b510f9bf6b074a51 < b5b0d52f00e4bacb0ebdf47cd7016b0485fffad2 ; affected 267f2492c8f71dac44399988b510f9bf6b074a51 < 10c2b98a40d9044a3e97f4697ca6213bad7e19c2 ; affected 267f2492c8f71dac44399988b510f9bf6b074a51 < 967c28b23f6c89bb8eef6a046ea88afe0d7c1029
Linux · Linuxaffected 6.0 ; unaffected 0 < 6.0 ; unaffected 6.1.39 ≤ 6.1.* ; unaffected 6.3.13 ≤ 6.3.* ; unaffected 6.4.4 ≤ 6.4.* ; unaffected 6.5 ≤ *

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