CVE-2022-50755
Double Free Vulnerability in Linux Kernel UDF Filesystem Buffer Handling
Publication date: 2025-12-24
Last updated on: 2025-12-24
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability in the Linux kernel's udf filesystem code involves a double call to brelse(), a function that releases buffer heads. Specifically, udf_find_entry() calls brelse() on certain buffers when it returns NULL, and udf_rename() also calls brelse() on the same buffers, causing the buffer reference count to become unbalanced. This can lead to warnings and potential instability in the kernel. The fix prevents udf_rename() from calling brelse() when udf_find_entry() returns NULL, avoiding the double release.
How can this vulnerability impact me? :
The vulnerability can cause kernel warnings and potentially unstable behavior due to unbalanced buffer reference counts. This may lead to system instability or crashes when performing file rename operations on the udf filesystem, affecting system reliability.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring kernel logs for warnings related to brelse() errors, specifically messages like 'VFS: brelse: Trying to free free buffer' and associated call traces. You can check the kernel log using commands such as 'dmesg | grep brelse' or 'journalctl -k | grep brelse' to identify if this warning appears.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves updating the Linux kernel to a version where the patch fixing the double brelse() call in udf_rename() has been applied. This patch prevents the unbalanced buffer_head reference count issue by avoiding redundant brelse() calls.