orangefs: keep the readdir entry size 64-bit in fill_from_part()
28Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 9.8epss 0.7%
exploitation probability
0.7%top 47% of all CVEs
observed exploitation
nono source reports it
In the Linux kernel, the following vulnerability has been resolved:
orangefs: keep the readdir entry size 64-bit in fill_from_part()
fill_from_part() computes the size of a directory entry in size_t but
stores it in a __u32. An entry length near U32_MAX wraps it to a small
value, bypasses the bounds check, and is then used to index the entry,
reading far past the directory part -- an out-of-bounds read that oopses
the kernel.
Compute the size as a u64 so it cannot truncate; the bounds check then
rejects the entry. The trailer is supplied by the userspace client.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/07c05601a9a8e5d4481b2a4a16dc0e3c5bc63ad9https://git.kernel.org/stable/c/1679780f482feeb82acb5995587d4fb1d1fe82fdhttps://git.kernel.org/stable/c/18227a6bc98bd0ba96ed3ce9d5b28776a5a28dfchttps://git.kernel.org/stable/c/36723b28e3293047f087f4501f1ef4ead418dd84https://git.kernel.org/stable/c/82fc886e244c76fadf05ef1958aaf8815478ccdehttps://git.kernel.org/stable/c/a72bbb43689591c9d36e3bb45c2d4e688cf92682https://git.kernel.org/stable/c/e3d325c0bdb7bc5d1b4cc8d8441d79794cd03729https://git.kernel.org/stable/c/fdf06a1b66ff39664b01c6bb6a2aa98d81e8ebe1