{
    "dataType": "CVE_RECORD",
    "cveMetadata": {
        "cveId": "CVE-2024-35905",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-05-17T13:50:33.120Z",
        "datePublished": "2024-05-19T08:34:58.347Z",
        "dateUpdated": "2026-08-05T11:30:53.160Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:30:53.160Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Protect against int overflow for stack access size\n\nThis patch re-introduces protection against the size of access to stack\nmemory being negative; the access size can appear negative as a result\nof overflowing its signed int representation. This should not actually\nhappen, as there are other protections along the way, but we should\nprotect against it anyway. One code path was missing such protections\n(fixed in the previous patch in the series), causing out-of-bounds array\naccesses in check_stack_range_initialized(). This patch causes the\nverification of a program with such a non-sensical access size to fail.\n\nThis check used to exist in a more indirect way, but was inadvertendly\nremoved in a833a17aeac7."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The vulnerability is reached through the bpf(2) syscall — BPF_MAP_CREATE for an oversized bloom-filter map followed by BPF_PROG_LOAD — which requires local access to the system. There is no remote or adjacent-network path into the BPF verifier.\nAC:L - The attacker fully controls both inputs that produce the overflow: the map's value_size (0x80000000 → INT_MIN) and the stack offset of the helper argument, making the out-of-bounds walk deterministic on every attempt with no race or unpredictable precondition.\nPR:L - Creating the BLOOM_FILTER map needs CAP_BPF, but that is a narrow delegated capability — not root — that is commonly granted to unprivileged observability/networking service accounts and containers, and the same map_create path supports BPF-token delegation into a user namespace; program load and the bpf_map_push_elem helper themselves need no extra privilege.\nUI:N - The entire sequence is performed by the attacker's own process via bpf(2); no action by any other user or administrator is needed.\nS:U - The out-of-bounds accesses corrupt kernel heap memory belonging to the verifier itself; impact stays within the kernel's security authority with no crossing of a VM, IOMMU, or sandbox boundary.\nC:H - The loop performs unbounded out-of-bounds reads walking downward through the kernel heap below state->stack[], and the values read (including spilled_ptr.parent pointers) steer subsequent dereferences, giving an attacker-groomable kernel memory disclosure primitive.\nI:H - With clobber set, the verifier writes STACK_MISC bytes out of bounds, calls __mark_reg_unknown() to write a whole bpf_reg_state past the array, and mark_reg_read() does parent->live |= flag through a pointer read from out-of-bounds heap — a controllable write primitive suitable for privilege escalation via heap grooming.\nA:H - Even without successful exploitation the ~2-billion-iteration loop walks off the allocation and dereferences unmapped memory, producing a kernel oops/panic (this is exactly what syzkaller reported), and can be triggered repeatedly."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "kernel/bpf/verifier.c"
                    ],
                    "versions": [
                        {
                            "version": "afea95d319ccb4ad2060dece9ac5e2e364dec543",
                            "lessThan": "9970e059af471478455f9534e8c3db82f8c5496d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "02962684258eb53f414a8a59854767be526e6abb",
                            "lessThan": "37dc1718dc0c4392dbfcb9adec22a776e745dd69",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "b1d4d54d32ce6342f5faffe71bae736540ce7cb5",
                            "lessThan": "98cdac206b112bec63852e94802791e316acc2c1",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "08b91babccbb168353f8d43fea0ed28a4cad568c",
                            "lessThan": "3f0784b2f1eb9147973d8c43ba085c5fdf44ff69",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a833a17aeac73b33f79433d7cee68d5cafd71e4f",
                            "lessThan": "203a68151e8eeb331d4a64ab78303f3a15faf103",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a833a17aeac73b33f79433d7cee68d5cafd71e4f",
                            "lessThan": "ecc6a2101840177e57c925c102d2d29f260d37c8",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "1858b8a331937f3976d8482cd5f6e1f945294ad3",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "5.10.209",
                            "lessThan": "5.10.215",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.148",
                            "lessThan": "5.15.154",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.75",
                            "lessThan": "6.1.85",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.14",
                            "lessThan": "6.6.26",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.7.2",
                            "lessThan": "6.8",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "kernel/bpf/verifier.c"
                    ],
                    "versions": [
                        {
                            "version": "6.8",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "6.8",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.215",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.154",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.85",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.26",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.8.5",
                            "lessThanOrEqual": "6.8.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.9",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.10.209",
                                    "versionEndExcluding": "5.10.215"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.15.148",
                                    "versionEndExcluding": "5.15.154"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.1.75",
                                    "versionEndExcluding": "6.1.85"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.6.14",
                                    "versionEndExcluding": "6.6.26"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.8",
                                    "versionEndExcluding": "6.8.5"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.8",
                                    "versionEndExcluding": "6.9"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.7.2"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/9970e059af471478455f9534e8c3db82f8c5496d"
                },
                {
                    "url": "https://git.kernel.org/stable/c/37dc1718dc0c4392dbfcb9adec22a776e745dd69"
                },
                {
                    "url": "https://git.kernel.org/stable/c/98cdac206b112bec63852e94802791e316acc2c1"
                },
                {
                    "url": "https://git.kernel.org/stable/c/3f0784b2f1eb9147973d8c43ba085c5fdf44ff69"
                },
                {
                    "url": "https://git.kernel.org/stable/c/203a68151e8eeb331d4a64ab78303f3a15faf103"
                },
                {
                    "url": "https://git.kernel.org/stable/c/ecc6a2101840177e57c925c102d2d29f260d37c8"
                }
            ],
            "title": "bpf: Protect against int overflow for stack access size",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "title": "CISA ADP Vulnrichment",
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "id": "CVE-2024-35905",
                                "role": "CISA Coordinator",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "version": "2.0.3",
                                "timestamp": "2024-05-21T15:34:20.280116Z"
                            }
                        }
                    }
                ],
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-06-04T17:34:52.056Z"
                }
            },
            {
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2024-08-02T03:21:49.025Z"
                },
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/9970e059af471478455f9534e8c3db82f8c5496d",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/37dc1718dc0c4392dbfcb9adec22a776e745dd69",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/98cdac206b112bec63852e94802791e316acc2c1",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/3f0784b2f1eb9147973d8c43ba085c5fdf44ff69",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/203a68151e8eeb331d4a64ab78303f3a15faf103",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/ecc6a2101840177e57c925c102d2d29f260d37c8",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html",
                        "tags": [
                            "x_transferred"
                        ]
                    }
                ]
            },
            {
                "x_adpType": "supplier",
                "providerMetadata": {
                    "orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
                    "shortName": "siemens-SADP",
                    "dateUpdated": "2026-05-12T11:52:38.972Z"
                },
                "affected": [
                    {
                        "vendor": "Siemens",
                        "product": "SIMATIC S7-1500 TM MFP - GNU/Linux subsystem",
                        "versions": [
                            {
                                "status": "affected",
                                "version": "0",
                                "lessThan": "*",
                                "versionType": "custom"
                            }
                        ],
                        "defaultStatus": "unknown"
                    }
                ],
                "references": [
                    {
                        "url": "https://cert-portal.siemens.com/productcert/html/ssa-265688.html"
                    }
                ]
            }
        ]
    },
    "dataVersion": "5.2"
}