CVE-2021-47107CWE-120

CVE-2021-47107

Critical · published March 5, 2024

CVSS v3.1
9.8
EPSS
1%
Percentile
57.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

NFSD: Fix READDIR buffer overflow

If a client sends a READDIR count argument that is too small (say,

zero), then the buffer size calculation in the new init_dirlist

helper functions results in an underflow, allowing the XDR stream

functions to write beyond the actual buffer.

This calculation has always been suspect. NFSD has never sanity-

checked the READDIR count argument, but the old entry encoders

managed the problem correctly.

With the commits below, entry encoding changed, exposing the

underflow to the pointer arithmetic in xdr_reserve_space().

Modern NFS clients attempt to retrieve as much data as possible

for each READDIR request. Also, we have no unit tests that

exercise the behavior of READDIR at the lower bound of @count

values. Thus this case was missed during testing.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00847 · 57.7th percentile
Weakness
CWE-120 · Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
Published
2024-03-05T00:15Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 5.13, < 5.15.125.15.12
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (7)
EPSS history
Timeline
  • 04 MAR 18:15Z
    NFSD: Fix READDIR buffer overflow
    cvelistv5