{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2024-46859",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-09-11T15:12:18.291Z",
        "datePublished": "2024-09-27T12:42:49.801Z",
        "dateUpdated": "2026-08-05T11:39:04.276Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:39:04.276Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nplatform/x86: panasonic-laptop: Fix SINF array out of bounds accesses\n\nThe panasonic laptop code in various places uses the SINF array with index\nvalues of 0 - SINF_CUR_BRIGHT(0x0d) without checking that the SINF array\nis big enough.\n\nNot all panasonic laptops have this many SINF array entries, for example\nthe Toughbook CF-18 model only has 10 SINF array entries. So it only\nsupports the AC+DC brightness entries and mute.\n\nCheck that the SINF array has a minimum size which covers all AC+DC\nbrightness entries and refuse to load if the SINF array is smaller.\n\nFor higher SINF indexes hide the sysfs attributes when the SINF array\ndoes not contain an entry for that attribute, avoiding show()/store()\naccessing the array out of bounds and add bounds checking to the probe()\nand resume() code accessing these."
                }
            ],
            "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 out-of-bounds accesses are reached through sysfs attribute files under /sys/bus/acpi/devices/MAT00xx:00/ on the affected Panasonic laptop, which require local access to the machine (an ordinary read()/write() on a device file). There is no network or remote-peer path into this ACPI platform driver.\nAC:L - On an affected system the attacker simply reads the sysfs attribute and the driver indexes past the end of pcc->sinf every single time — no race, no timing window, and no memory-layout grooming is needed for the read primitive. The short SINF array is a fixed property of the target's firmware (the vulnerable configuration being scored), not a per-attempt condition the attacker must win.\nPR:L - The affected attributes are created with DEVICE_ATTR_RW, i.e. mode 0644, so mute_show(), eco_mode_show() and current_brightness_show() are world-readable and any unprivileged local account can trigger the out-of-bounds reads and have the leaked u32 returned to it. No capability, no group membership, and no namespace tricks are required.\nUI:N - Exploitation is a self-contained read (or write) of a sysfs file by the attacker's own process; no victim has to log in, open a file, mount anything, or take any other action. The probe-time and resume-time out-of-bounds accesses likewise occur without any deliberate user step.\nS:U - The corrupted and disclosed memory is kernel slab memory belonging to the same kernel security authority that hosts the driver. There is no crossing of a hypervisor, IOMMU, or sandbox boundary.\nC:H - current_brightness_show() and mute_show() emit the out-of-bounds u32 directly to userspace via sysfs_emit(), giving an unprivileged local user a repeatable kernel-heap read primitive that can be sampled arbitrarily often to harvest adjacent slab contents (kernel pointers, other objects' data) for KASLR defeat and further exploitation. When SQTY reports a very small count the read at index 0x0D lands dozens of bytes past a tiny kmalloc-8 allocation, spanning several neighbouring slab objects.\nI:H - eco_mode_store() performs an out-of-bounds heap write (pcc->sinf[SINF_ECO_MODE] = 0/1) whenever the SINF array is shorter than 11 entries, corrupting adjacent slab objects; per kernel scoring guidance an out-of-bounds write is High because attacker-chosen heap grooming can place a security-relevant structure at the overwritten offset and turn it into a control-flow or privilege primitive.\nA:H - The out-of-bounds slab accesses trip KASAN/slub_debug redzone checks, which on hardened or panic_on_warn configurations bring the machine down, and the out-of-bounds write can corrupt neighbouring slab metadata or objects leading to an oops or panic. Per kernel guidance any such crash is scored High."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/platform/x86/panasonic-laptop.c"
                    ],
                    "versions": [
                        {
                            "version": "e424fb8cc4e6634c10f8159b1ff5618cf7bab9c6",
                            "lessThan": "b7c2f692307fe704be87ea80d7328782b33c3cef",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "e424fb8cc4e6634c10f8159b1ff5618cf7bab9c6",
                            "lessThan": "9291fadbd2720a869b1d2fcf82305648e2e62a16",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "e424fb8cc4e6634c10f8159b1ff5618cf7bab9c6",
                            "lessThan": "6821a82616f60aa72c5909b3e252ad97fb9f7e2a",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "e424fb8cc4e6634c10f8159b1ff5618cf7bab9c6",
                            "lessThan": "b38c19783286a71693c2194ed1b36665168c09c4",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "e424fb8cc4e6634c10f8159b1ff5618cf7bab9c6",
                            "lessThan": "f52e98d16e9bd7dd2b3aef8e38db5cbc9899d6a4",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/platform/x86/panasonic-laptop.c"
                    ],
                    "versions": [
                        {
                            "version": "3.3",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "3.3",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.168",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.111",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.52",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.10.11",
                            "lessThanOrEqual": "6.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.11",
                            "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": "3.3",
                                    "versionEndExcluding": "5.15.168"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.3",
                                    "versionEndExcluding": "6.1.111"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.3",
                                    "versionEndExcluding": "6.6.52"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.3",
                                    "versionEndExcluding": "6.10.11"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "3.3",
                                    "versionEndExcluding": "6.11"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/b7c2f692307fe704be87ea80d7328782b33c3cef"
                },
                {
                    "url": "https://git.kernel.org/stable/c/9291fadbd2720a869b1d2fcf82305648e2e62a16"
                },
                {
                    "url": "https://git.kernel.org/stable/c/6821a82616f60aa72c5909b3e252ad97fb9f7e2a"
                },
                {
                    "url": "https://git.kernel.org/stable/c/b38c19783286a71693c2194ed1b36665168c09c4"
                },
                {
                    "url": "https://git.kernel.org/stable/c/f52e98d16e9bd7dd2b3aef8e38db5cbc9899d6a4"
                }
            ],
            "title": "platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2024-09-29T13:57:08.389850Z",
                                "id": "CVE-2024-46859",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-09-29T13:57:13.392Z"
                }
            },
            {
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
                    }
                ],
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2025-11-03T22:19:46.186Z"
                }
            }
        ]
    }
}