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 compatofft 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.
[
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"238272767139958527797537678630692296202",
"333465216426488362638644110140223612356",
"105878645084729812659146431355676136990",
"321810859484778000730334298724290761116"
]
},
"target": {
"file": "include/linux/syscalls.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@84bf6b64a1a0dfc6de7e1b1c776d58d608e7865a",
"id": "CVE-2024-42084-002aca3b"
},
{
"digest": {
"length": 118.0,
"function_hash": "185804510718449575530779890691098804032"
},
"target": {
"function": "SYSCALL_DEFINE2",
"file": "fs/open.c"
},
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c329760749b5419769e57cb2be80955d2805f9c9",
"id": "CVE-2024-42084-0de3af00"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"249450289209930513750808306715856098095",
"92250599153602671956471328461473362597",
"34762717602704714427794351958832144960",
"163486979517765338146785809722808078850",
"112372852204785452002323869084100689142",
"81383196968626621560228561945657808183",
"57353596817549686067521176161890498367",
"151719033527572219195139274393778537274",
"9930852474607415615835796908981265408"
]
},
"target": {
"file": "fs/open.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b8e88e563b5f666446d002ad0dc1e6e8e7102b0",
"id": "CVE-2024-42084-0f3b3c61"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"238272767139958527797537678630692296202",
"333465216426488362638644110140223612356",
"105878645084729812659146431355676136990",
"321810859484778000730334298724290761116"
]
},
"target": {
"file": "include/linux/syscalls.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae6af68410bdad6181ec82104bb9985a7a6a0fa",
"id": "CVE-2024-42084-17124935"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"200231688474817286395236300076417477260",
"92250599153602671956471328461473362597",
"34762717602704714427794351958832144960",
"163486979517765338146785809722808078850",
"112372852204785452002323869084100689142",
"81383196968626621560228561945657808183",
"57353596817549686067521176161890498367",
"151719033527572219195139274393778537274",
"9930852474607415615835796908981265408"
]
},
"target": {
"file": "fs/open.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c329760749b5419769e57cb2be80955d2805f9c9",
"id": "CVE-2024-42084-28e1b4be"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"72216580442585897149041198377549164470",
"261000597956114367007156227482103150747",
"273805308681924338952058066599815137462",
"81863912888405207684347986925319261864"
]
},
"target": {
"file": "include/linux/compat.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c329760749b5419769e57cb2be80955d2805f9c9",
"id": "CVE-2024-42084-28f87a67"
},
{
"digest": {
"length": 118.0,
"function_hash": "185804510718449575530779890691098804032"
},
"target": {
"function": "SYSCALL_DEFINE2",
"file": "fs/open.c"
},
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@836359247b0403e0634bfbc83e5bb8063fad287a",
"id": "CVE-2024-42084-2e04bbf1"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"200231688474817286395236300076417477260",
"92250599153602671956471328461473362597",
"34762717602704714427794351958832144960",
"163486979517765338146785809722808078850",
"112372852204785452002323869084100689142",
"81383196968626621560228561945657808183",
"57353596817549686067521176161890498367",
"151719033527572219195139274393778537274",
"9930852474607415615835796908981265408"
]
},
"target": {
"file": "fs/open.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae6af68410bdad6181ec82104bb9985a7a6a0fa",
"id": "CVE-2024-42084-306f4383"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"238272767139958527797537678630692296202",
"333465216426488362638644110140223612356",
"105878645084729812659146431355676136990",
"321810859484778000730334298724290761116"
]
},
"target": {
"file": "include/linux/syscalls.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c329760749b5419769e57cb2be80955d2805f9c9",
"id": "CVE-2024-42084-3094ffe7"
},
{
"digest": {
"length": 118.0,
"function_hash": "185804510718449575530779890691098804032"
},
"target": {
"function": "SYSCALL_DEFINE2",
"file": "fs/open.c"
},
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f531d4bc6c5588d713359e42ed65e46816d841d8",
"id": "CVE-2024-42084-3594c026"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"72216580442585897149041198377549164470",
"261000597956114367007156227482103150747",
"273805308681924338952058066599815137462",
"81863912888405207684347986925319261864"
]
},
"target": {
"file": "include/linux/compat.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b8e88e563b5f666446d002ad0dc1e6e8e7102b0",
"id": "CVE-2024-42084-427679d0"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"72216580442585897149041198377549164470",
"261000597956114367007156227482103150747",
"273805308681924338952058066599815137462",
"81863912888405207684347986925319261864"
]
},
"target": {
"file": "include/linux/compat.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f531d4bc6c5588d713359e42ed65e46816d841d8",
"id": "CVE-2024-42084-573c974b"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"238272767139958527797537678630692296202",
"333465216426488362638644110140223612356",
"105878645084729812659146431355676136990",
"321810859484778000730334298724290761116"
]
},
"target": {
"file": "include/linux/syscalls.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f531d4bc6c5588d713359e42ed65e46816d841d8",
"id": "CVE-2024-42084-59780a0c"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"72216580442585897149041198377549164470",
"261000597956114367007156227482103150747",
"273805308681924338952058066599815137462",
"81863912888405207684347986925319261864"
]
},
"target": {
"file": "include/linux/compat.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@84bf6b64a1a0dfc6de7e1b1c776d58d608e7865a",
"id": "CVE-2024-42084-645d0469"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"72216580442585897149041198377549164470",
"261000597956114367007156227482103150747",
"273805308681924338952058066599815137462",
"81863912888405207684347986925319261864"
]
},
"target": {
"file": "include/linux/compat.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@836359247b0403e0634bfbc83e5bb8063fad287a",
"id": "CVE-2024-42084-647283df"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"91904562156916421537122998481477472179",
"212838614010500999439166704513772036181",
"105878645084729812659146431355676136990",
"321810859484778000730334298724290761116"
]
},
"target": {
"file": "include/linux/syscalls.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b8e88e563b5f666446d002ad0dc1e6e8e7102b0",
"id": "CVE-2024-42084-653b7cc5"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"238272767139958527797537678630692296202",
"333465216426488362638644110140223612356",
"105878645084729812659146431355676136990",
"321810859484778000730334298724290761116"
]
},
"target": {
"file": "include/linux/syscalls.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dbb226d81cd02cee140139c2369791e6f61f2007",
"id": "CVE-2024-42084-7a6f0c52"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"200231688474817286395236300076417477260",
"92250599153602671956471328461473362597",
"34762717602704714427794351958832144960",
"163486979517765338146785809722808078850",
"112372852204785452002323869084100689142",
"81383196968626621560228561945657808183",
"57353596817549686067521176161890498367",
"151719033527572219195139274393778537274",
"9930852474607415615835796908981265408"
]
},
"target": {
"file": "fs/open.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@836359247b0403e0634bfbc83e5bb8063fad287a",
"id": "CVE-2024-42084-7ad83dde"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"249450289209930513750808306715856098095",
"92250599153602671956471328461473362597",
"34762717602704714427794351958832144960",
"163486979517765338146785809722808078850",
"112372852204785452002323869084100689142",
"81383196968626621560228561945657808183",
"57353596817549686067521176161890498367",
"151719033527572219195139274393778537274",
"9930852474607415615835796908981265408"
]
},
"target": {
"file": "fs/open.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@930a4c369f74da26816eaaa71b5888d29b759c27",
"id": "CVE-2024-42084-7fc167e1"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"238272767139958527797537678630692296202",
"333465216426488362638644110140223612356",
"105878645084729812659146431355676136990",
"321810859484778000730334298724290761116"
]
},
"target": {
"file": "include/linux/syscalls.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@836359247b0403e0634bfbc83e5bb8063fad287a",
"id": "CVE-2024-42084-94e82264"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"200231688474817286395236300076417477260",
"92250599153602671956471328461473362597",
"34762717602704714427794351958832144960",
"163486979517765338146785809722808078850",
"112372852204785452002323869084100689142",
"81383196968626621560228561945657808183",
"57353596817549686067521176161890498367",
"151719033527572219195139274393778537274",
"9930852474607415615835796908981265408"
]
},
"target": {
"file": "fs/open.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f531d4bc6c5588d713359e42ed65e46816d841d8",
"id": "CVE-2024-42084-954cf826"
},
{
"digest": {
"length": 118.0,
"function_hash": "185804510718449575530779890691098804032"
},
"target": {
"function": "SYSCALL_DEFINE2",
"file": "fs/open.c"
},
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae6af68410bdad6181ec82104bb9985a7a6a0fa",
"id": "CVE-2024-42084-976d44b2"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"200231688474817286395236300076417477260",
"92250599153602671956471328461473362597",
"34762717602704714427794351958832144960",
"163486979517765338146785809722808078850",
"112372852204785452002323869084100689142",
"81383196968626621560228561945657808183",
"57353596817549686067521176161890498367",
"151719033527572219195139274393778537274",
"9930852474607415615835796908981265408"
]
},
"target": {
"file": "fs/open.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@84bf6b64a1a0dfc6de7e1b1c776d58d608e7865a",
"id": "CVE-2024-42084-a211b924"
},
{
"digest": {
"length": 118.0,
"function_hash": "185804510718449575530779890691098804032"
},
"target": {
"function": "SYSCALL_DEFINE2",
"file": "fs/open.c"
},
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b8e88e563b5f666446d002ad0dc1e6e8e7102b0",
"id": "CVE-2024-42084-ab22676e"
},
{
"digest": {
"length": 118.0,
"function_hash": "185804510718449575530779890691098804032"
},
"target": {
"function": "SYSCALL_DEFINE2",
"file": "fs/open.c"
},
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@930a4c369f74da26816eaaa71b5888d29b759c27",
"id": "CVE-2024-42084-b2177876"
},
{
"digest": {
"length": 118.0,
"function_hash": "185804510718449575530779890691098804032"
},
"target": {
"function": "SYSCALL_DEFINE2",
"file": "fs/open.c"
},
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@84bf6b64a1a0dfc6de7e1b1c776d58d608e7865a",
"id": "CVE-2024-42084-bf13450f"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"91904562156916421537122998481477472179",
"212838614010500999439166704513772036181",
"105878645084729812659146431355676136990",
"321810859484778000730334298724290761116"
]
},
"target": {
"file": "include/linux/syscalls.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@930a4c369f74da26816eaaa71b5888d29b759c27",
"id": "CVE-2024-42084-d5321ea0"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"72216580442585897149041198377549164470",
"261000597956114367007156227482103150747",
"273805308681924338952058066599815137462",
"81863912888405207684347986925319261864"
]
},
"target": {
"file": "include/linux/compat.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@930a4c369f74da26816eaaa71b5888d29b759c27",
"id": "CVE-2024-42084-e858e7c0"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"72216580442585897149041198377549164470",
"261000597956114367007156227482103150747",
"273805308681924338952058066599815137462",
"81863912888405207684347986925319261864"
]
},
"target": {
"file": "include/linux/compat.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae6af68410bdad6181ec82104bb9985a7a6a0fa",
"id": "CVE-2024-42084-edbc106c"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"72216580442585897149041198377549164470",
"261000597956114367007156227482103150747",
"273805308681924338952058066599815137462",
"81863912888405207684347986925319261864"
]
},
"target": {
"file": "include/linux/compat.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dbb226d81cd02cee140139c2369791e6f61f2007",
"id": "CVE-2024-42084-f16d0082"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"200231688474817286395236300076417477260",
"92250599153602671956471328461473362597",
"34762717602704714427794351958832144960",
"163486979517765338146785809722808078850",
"112372852204785452002323869084100689142",
"81383196968626621560228561945657808183",
"57353596817549686067521176161890498367",
"151719033527572219195139274393778537274",
"9930852474607415615835796908981265408"
]
},
"target": {
"file": "fs/open.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dbb226d81cd02cee140139c2369791e6f61f2007",
"id": "CVE-2024-42084-f730048a"
},
{
"digest": {
"length": 118.0,
"function_hash": "185804510718449575530779890691098804032"
},
"target": {
"function": "SYSCALL_DEFINE2",
"file": "fs/open.c"
},
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dbb226d81cd02cee140139c2369791e6f61f2007",
"id": "CVE-2024-42084-fd331dc3"
}
]