Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: ovl: keep err zero after successful ovl_cache_get() ovl_iterate_merged() stores PTR_ERR(cache) in err before checking IS_ERR(cache). On success err holds the truncated cache pointer and can be returned as a bogus non-zero error. The syzbot reproducer reaches this through overlay-on-overlay readdir: getdents64 iterate_dir(outer overlay file) ovl_iterate_merged() ovl_cache_get() ovl_dir_read_merged() ovl_dir_read() iterate_dir(inner overlay file) ovl_iterate_merged() Only compute PTR_ERR(cache) on the error path.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected d25e4b739f8378419f990983f2542160e79738c5 before e7051909a01bfb883bfa78b27514854068ac4b85; affected d25e4b739f8378419f990983f2542160e79738c5 before 1711b6ed6953cee5940ca4c3a6e77f1b3798cee2 |
| Linux / Linux | affected 6.19; unaffected 0 before 6.19; unaffected 7.0.13 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.