{
    "dataType": "CVE_RECORD",
    "cveMetadata": {
        "cveId": "CVE-2024-26994",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-02-19T14:20:24.206Z",
        "datePublished": "2024-05-01T05:28:07.350Z",
        "dateUpdated": "2026-08-05T11:28:53.774Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:28:53.774Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nspeakup: Avoid crash on very long word\n\nIn case a console is set up really large and contains a really long word\n(> 256 characters), we have to stop before the length of the word buffer."
                }
            ],
            "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 overflow is reached only through the speakup console screen-reader command path (`keyboard_notifier_call` → `speakup_key` → `do_spkup` → `get_word`) combined with `VT_RESIZE`/`PIO_UNIMAP`/`KDFONTOP` ioctls on the attacker's own virtual console, all of which require a local session on the machine. There is no network or remote protocol handler involved, but console/VT access is standard local access rather than physical device attachment.\nAC:L - Every precondition is under the attacker's control: `vt_ioctl()` grants `perm=1` to the tty owner, so an unprivileged console user can `VT_RESIZE` the console past 257 columns (up to `VC_MAXCOL`=32767 outright when the VC is bound to dummycon, which has no `con_resize` clamp, or via a narrow `KDFONTOP` font under fbcon), then print a >256-character word and press the say-word key. No race, no memory-layout luck, and on 4K framebuffer consoles the stock 8x16 font already yields 480 columns by default.\nPR:L - The attacker needs an ordinary unprivileged local account owning a virtual console — `current->signal->tty == tty` alone satisfies the VT ioctl permission check, so no CAP_SYS_TTY_CONFIG or root is required, and `do_spkup()` performs no capability check before invoking `get_word()`.\nUI:N - The attacker performs every step themselves — resizing their own VT, loading the unimap, painting the long word, and issuing the speakup say-word/spell-word command; no separate victim needs to be induced into any action.\nS:U - The out-of-bounds write corrupts kernel `.bss` belonging to the same kernel security authority that contains the vulnerable code; no VM, hypervisor, IOMMU, or sandbox boundary is crossed.\nC:H - The linear overflow lands on `spk_characters[256]`, a pointer array immediately following `buf` in `.bss`, whose entries are dereferenced and printed via `synth_printf(\"%s\", cp)` into the synth buffer that userspace reads from `/dev/softsynth` — giving an arbitrary kernel-memory read primitive disclosed to the attacker, well beyond a bounded leak.\nI:H - This is an out-of-bounds write of fully attacker-chosen 16-bit values (sourced from an attacker-loaded `inverse_trans_unicode` table) with attacker-chosen length, overwriting adjacent `.bss` pointer arrays such as `spk_our_keys[]` and `speakup_console[]`, the latter being dereferenced for writes (`speakup_console[vc_num]->ht.highbuf[bi][hi] = ic[i]`) — an arbitrary-write and control-flow-influence primitive.\nA:H - Even without careful exploitation, smashing kilobytes of `.bss` past `buf[256]` corrupts live pointer arrays that speakup dereferences on the next key event, producing an immediate kernel oops/panic — the crash the commit title explicitly refers to."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/accessibility/speakup/main.c"
                    ],
                    "versions": [
                        {
                            "version": "c6e3fd22cd538365bfeb82997d5b89562e077d42",
                            "lessThan": "756c5cb7c09e537b87b5d3acafcb101b2ccf394f",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c6e3fd22cd538365bfeb82997d5b89562e077d42",
                            "lessThan": "8f6b62125befe1675446923e4171eac2c012959c",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c6e3fd22cd538365bfeb82997d5b89562e077d42",
                            "lessThan": "6401038acfa24cba9c28cce410b7505efadd0222",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c6e3fd22cd538365bfeb82997d5b89562e077d42",
                            "lessThan": "0d130158db29f5e0b3893154908cf618896450a8",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c6e3fd22cd538365bfeb82997d5b89562e077d42",
                            "lessThan": "89af25bd4b4bf6a71295f07e07a8ae7dc03c6595",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c6e3fd22cd538365bfeb82997d5b89562e077d42",
                            "lessThan": "8defb1d22ba0395b81feb963b96e252b097ba76f",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c6e3fd22cd538365bfeb82997d5b89562e077d42",
                            "lessThan": "0efb15c14c493263cb3a5f65f5ddfd4603d19a76",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "c6e3fd22cd538365bfeb82997d5b89562e077d42",
                            "lessThan": "c8d2f34ea96ea3bce6ba2535f867f0d4ee3b22e1",
                            "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/accessibility/speakup/main.c"
                    ],
                    "versions": [
                        {
                            "version": "2.6.37",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "2.6.37",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "4.19.313",
                            "lessThanOrEqual": "4.19.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.4.275",
                            "lessThanOrEqual": "5.4.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.216",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.157",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.88",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.29",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.8.8",
                            "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": "2.6.37",
                                    "versionEndExcluding": "4.19.313"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.37",
                                    "versionEndExcluding": "5.4.275"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.37",
                                    "versionEndExcluding": "5.10.216"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.37",
                                    "versionEndExcluding": "5.15.157"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.37",
                                    "versionEndExcluding": "6.1.88"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.37",
                                    "versionEndExcluding": "6.6.29"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.37",
                                    "versionEndExcluding": "6.8.8"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "2.6.37",
                                    "versionEndExcluding": "6.9"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/756c5cb7c09e537b87b5d3acafcb101b2ccf394f"
                },
                {
                    "url": "https://git.kernel.org/stable/c/8f6b62125befe1675446923e4171eac2c012959c"
                },
                {
                    "url": "https://git.kernel.org/stable/c/6401038acfa24cba9c28cce410b7505efadd0222"
                },
                {
                    "url": "https://git.kernel.org/stable/c/0d130158db29f5e0b3893154908cf618896450a8"
                },
                {
                    "url": "https://git.kernel.org/stable/c/89af25bd4b4bf6a71295f07e07a8ae7dc03c6595"
                },
                {
                    "url": "https://git.kernel.org/stable/c/8defb1d22ba0395b81feb963b96e252b097ba76f"
                },
                {
                    "url": "https://git.kernel.org/stable/c/0efb15c14c493263cb3a5f65f5ddfd4603d19a76"
                },
                {
                    "url": "https://git.kernel.org/stable/c/c8d2f34ea96ea3bce6ba2535f867f0d4ee3b22e1"
                }
            ],
            "title": "speakup: Avoid crash on very long word",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "problemTypes": [
                    {
                        "descriptions": [
                            {
                                "type": "CWE",
                                "lang": "en",
                                "description": "CWE-noinfo Not enough information"
                            }
                        ]
                    }
                ],
                "metrics": [
                    {
                        "cvssV3_1": {
                            "scope": "UNCHANGED",
                            "version": "3.1",
                            "baseScore": 5.9,
                            "attackVector": "LOCAL",
                            "baseSeverity": "MEDIUM",
                            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L",
                            "integrityImpact": "LOW",
                            "userInteraction": "NONE",
                            "attackComplexity": "LOW",
                            "availabilityImpact": "LOW",
                            "privilegesRequired": "NONE",
                            "confidentialityImpact": "LOW"
                        }
                    },
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2024-07-17T14:52:12.815212Z",
                                "id": "CVE-2024-26994",
                                "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-11-04T16:48:53.206Z"
                }
            },
            {
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/756c5cb7c09e537b87b5d3acafcb101b2ccf394f",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/8f6b62125befe1675446923e4171eac2c012959c",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/6401038acfa24cba9c28cce410b7505efadd0222",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/0d130158db29f5e0b3893154908cf618896450a8",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/89af25bd4b4bf6a71295f07e07a8ae7dc03c6595",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/8defb1d22ba0395b81feb963b96e252b097ba76f",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/0efb15c14c493263cb3a5f65f5ddfd4603d19a76",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/c8d2f34ea96ea3bce6ba2535f867f0d4ee3b22e1",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DAMSOZXJEPUOXW33WZYWCVAY7Z5S7OOY/"
                    },
                    {
                        "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4EZ6PJW7VOZ224TD7N4JZNU6KV32ZJ53/"
                    },
                    {
                        "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/GCBZZEC7L7KTWWAS2NLJK6SO3IZIL4WW/"
                    }
                ],
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2025-11-04T17:15:52.431Z"
                }
            }
        ]
    },
    "dataVersion": "5.2"
}