In the Linux kernel, the following vulnerability has been resolved:
ftruncate: pass a signed offset
The old ftruncate() syscall, using the 32-bit off_t misses a sign
extension when called in compat mode on 64-bit architectures. As a
result, passing a negative length accidentally succeeds in truncating
to file size between 2GiB and 4GiB.
Changing the type of the compat syscall to the signed compat_off_t
changes the behavior so it instead returns -EINVAL.
The native entry point, the truncate() syscall and the corresponding
loff_t based variants are all correct already and do not suffer
from this mistake.
git.kernel.org/stable/c/4b8e88e563b5f666446d002ad0dc1e6e8e7102b0
git.kernel.org/stable/c/5ae6af68410bdad6181ec82104bb9985a7a6a0fa
git.kernel.org/stable/c/836359247b0403e0634bfbc83e5bb8063fad287a
git.kernel.org/stable/c/84bf6b64a1a0dfc6de7e1b1c776d58d608e7865a
git.kernel.org/stable/c/930a4c369f74da26816eaaa71b5888d29b759c27
git.kernel.org/stable/c/c329760749b5419769e57cb2be80955d2805f9c9
git.kernel.org/stable/c/dbb226d81cd02cee140139c2369791e6f61f2007
git.kernel.org/stable/c/f531d4bc6c5588d713359e42ed65e46816d841d8
security-tracker.debian.org/tracker/CVE-2024-42084