Description
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.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:NAffected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 3f6d078d4accfff8b114f968259a060bfdc7c682, < c329760749b5419769e57cb2be80955d2805f9c9; >= 3f6d078d4accfff8b114f968259a060bfdc7c682, < f531d4bc6c5588d713359e42ed65e46816d841d8; >= 3f6d078d4accfff8b114f968259a060bfdc7c682, < 84bf6b64a1a0dfc6de7e1b1c776d58d608e7865a; >= 3f6d078d4accfff8b114f968259a060bfdc7c682, < dbb226d81cd02cee140139c2369791e6f61f2007; >= 3f6d078d4accfff8b114f968259a060bfdc7c682, < 5ae6af68410bdad6181ec82104bb9985a7a6a0fa; >= 3f6d078d4accfff8b114f968259a060bfdc7c682, < 836359247b0403e0634bfbc83e5bb8063fad287a; >= 3f6d078d4accfff8b114f968259a060bfdc7c682, < 930a4c369f74da26816eaaa71b5888d29b759c27; >= 3f6d078d4accfff8b114f968259a060bfdc7c682, < 4b8e88e563b5f666446d002ad0dc1e6e8e7102b0 |
| Linux | Linux | 3.9 |
References
- https://git.kernel.org/stable/c/4b8e88e563b5f666446d002ad0dc1e6e8e7102b0Patch
- https://git.kernel.org/stable/c/5ae6af68410bdad6181ec82104bb9985a7a6a0faPatch
- https://git.kernel.org/stable/c/836359247b0403e0634bfbc83e5bb8063fad287aPatch
- https://git.kernel.org/stable/c/84bf6b64a1a0dfc6de7e1b1c776d58d608e7865aPatch
- https://git.kernel.org/stable/c/930a4c369f74da26816eaaa71b5888d29b759c27Patch
- https://git.kernel.org/stable/c/c329760749b5419769e57cb2be80955d2805f9c9Patch
- https://git.kernel.org/stable/c/dbb226d81cd02cee140139c2369791e6f61f2007Patch
- https://git.kernel.org/stable/c/f531d4bc6c5588d713359e42ed65e46816d841d8Patch
- https://git.kernel.org/stable/c/4b8e88e563b5f666446d002ad0dc1e6e8e7102b0Patch
- https://git.kernel.org/stable/c/5ae6af68410bdad6181ec82104bb9985a7a6a0faPatch
- https://git.kernel.org/stable/c/836359247b0403e0634bfbc83e5bb8063fad287aPatch
- https://git.kernel.org/stable/c/84bf6b64a1a0dfc6de7e1b1c776d58d608e7865aPatch
- https://git.kernel.org/stable/c/930a4c369f74da26816eaaa71b5888d29b759c27Patch
- https://git.kernel.org/stable/c/c329760749b5419769e57cb2be80955d2805f9c9Patch
- https://git.kernel.org/stable/c/dbb226d81cd02cee140139c2369791e6f61f2007Patch
- https://git.kernel.org/stable/c/f531d4bc6c5588d713359e42ed65e46816d841d8Patch
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
Timeline
- Published
- Jul 29, 2024
- Last modified
- Jun 17, 2026
- NVD status
- Modified