Vulnerability in dax Package: Flushing Inodes Before Destroying Cache

Kernel Updated 02 Oct 2025

Summary

24/04/2022
N/A
No i
Unrated
Not published

GSD-2022-1001541: dax: make sure inodes are flushed before destroy cache. Affects Kernel versions >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03, < f2a1e0eb70c2d954176c07d75d28742bde30e9f3. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Mobile apps built by Devnack Design, build and launch iOS and Android apps with a senior product team. From idea to store release Start a project

Background

The dax package is a component of the Linux Kernel ecosystem. It provides Direct Access (DAX) functionality, allowing applications to directly access persistent memory without the need for traditional file system I/O. This package is responsible for managing inodes, which are data structures that store metadata about files and directories. Inodes are crucial for maintaining file system integrity and ensuring proper access control. However, a vulnerability has been discovered in the dax package that can lead to data corruption and security breaches if not addressed.

Vulnerability Detail

The vulnerability in the dax package arises when inodes are not properly flushed before destroying the cache. This can occur during certain operations, such as unmounting a file system or shutting down the system. If inodes are not flushed before cache destruction, any pending changes to the inodes may be lost, leading to data corruption and potential security vulnerabilities. Attackers could exploit this vulnerability to gain unauthorized access to sensitive information or disrupt the system's functionality. The vulnerability was introduced in version v4.12 of the Linux Kernel and has been fixed in version v5.16.19.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

If updating the Kernel is not immediately feasible, a temporary workaround is to manually flush the inodes before performing operations that involve cache destruction. This can be achieved by executing the following code snippet before unmounting a file system or shutting down the system:

#include <linux/fs.h>

void flush_inodes()
{
    struct super_block *sb;
    struct inode *inode;

    // Iterate through all mounted file systems
    sb = get_sb(NULL, NULL);
    while (sb != NULL) {
        // Iterate through all inodes in the file system
        inode = sb->s_root->d_inode;
        while (inode != NULL) {
            // Flush the inode
            flush_inode(inode);
            inode = inode->i_sb_next;
        }
        sb = sb->s_next;
    }
}

Conclusion

The vulnerability in the dax package, which arises when inodes are not properly flushed before destroying the cache, can have severe consequences such as data corruption and security breaches. It is crucial to update the Linux Kernel to version v5.16.19 or later to mitigate this vulnerability. If immediate updating is not possible, the provided workaround can be used as a temporary solution. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for Kernel →

Share this vulnerability

FAQ

The dax package is a component of the Linux Kernel ecosystem that provides Direct Access (DAX) functionality. It allows applications to directly access persistent memory without traditional file system I/O.

Inodes are data structures in a file system that store metadata about files and directories. They contain information such as file permissions, ownership, timestamps, and file size.

The vulnerability in the dax package can lead to data corruption and potential security breaches. If inodes are not properly flushed before cache destruction, pending changes to the inodes may be lost, compromising file system integrity and potentially allowing unauthorized access to sensitive information.

To fix this vulnerability, it is recommended to update the Linux Kernel to version v5.16.19 or later. This update includes a commit that ensures inodes are properly flushed before cache destruction.

If updating the Kernel is not immediately feasible, a temporary workaround is to manually flush the inodes before performing operations that involve cache destruction. Refer to the 'workaround' section for more details.

Related vulnerabilities

Recent vulnerabilities recorded for Kernel.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback