CVE-2021-4155

Related Vulnerabilities: CVE-2021-4155  

A data leak flaw was found in the way XFS_IOC_ALLOCSP IOCTL in the XFS filesystem allowed for size increase of files with unaligned size. A local attacker could use this flaw to leak data on the XFS filesystem otherwise not accessible to them.

Description

A data leak flaw was found in the way XFS_IOC_ALLOCSP IOCTL in the XFS filesystem allowed for size increase of files with unaligned size. A local attacker could use this flaw to leak data on the XFS filesystem otherwise not accessible to them.

Mitigation

This issue can be mitigated by ensuring xfs_alloc_file_space is not called with "0" as an argument.

This can be done with a SystemTap script (which resets "0" with XFS_BMAPI_PREALLOC), below are the steps:

1) Save the following script in a 'CVE-2021-4155.stp' file

---
probe module("xfs").function("xfs_alloc_file_space") {
if ($alloc_type == 0)
$alloc_type = 0x8; # XFS_BMAPI_PREALLOC
}
---

2) Install systemtap package and its dependencies

     # yum install -y systemtap systemtap-runtime
     # yum install -y kernel-devel kernel-debuginfo

3) Build the mitigation kernel module as root.

    # stap -r `uname -r` -m cve_2021_4155.ko -g CVE-2021-4155.stp -p4

4) Load the mitigation module as root

    # staprun -L cve_2021_4155.ko

What is SystemTap and how to use it?
https://access.redhat.com/solutions/5441

Additional Information

  • Bugzilla 2034813: CVE-2021-4155 kernel: xfs: raw block device data leak in ioctl(XFS_IOC_ALLOCSP
  • CWE-131->CWE-200: Incorrect Calculation of Buffer Size leads to Exposure of Sensitive Information to an Unauthorized Actor
  • FAQ: Frequently asked questions about CVE-2021-4155