{"id":"CVE-2026-93053","state":"PUBLISHED","title":"speakup: keyhelp: guard letter_offsets possible out-of-range indexing","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nspeakup: keyhelp: guard letter_offsets possible out-of-range indexing\n\nhelp_init() builds letter_offsets[] by using the first byte of each\nfunction name as an index via `(start & 31) - 1`. If function_names are\noverridden from sysfs (root) with a name starting outside [a–z], the\nindex underflows or exceeds the array, leading to OOB write.\n\nFunction names can be overridden with the following commands as root:\n\n    modprobe speakup_soft\n    echo \"0 _bad\" > /sys/accessibility/speakup/i18n/function_names\n    # then press Insert+2 on /dev/tty\n\nThis fix checks the first letter in help_init(), and if it is not in the\n[a–z] range the function returns an error to the caller. Eventually this\nerror is propagated to drivers/accessibility/speakup/main.c:2217, which\ncauses a bleep sound.","publishedAt":"2026-09-17T16:10:42.397Z","updatedAt":"2026-10-19T09:04:48.197Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"fd339b9ef0accb2c24a5285df842552ebf5eb146","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"900cd6e5ef46bd15153762fb26bb03f874fccc52","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"6b39969c724d39b6062efa354dc2d38442bfd021","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"2e91ab73f9beb659f581e2a6a09f79ace1140905","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"d7deb90c4cd086cb111f0ecc9da021218fbde1b0","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"5310334762c3f08f51dc2414344dd47492c07d1d","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"ca4489b3e54666a7cac7294e71a3cf64e5e95286","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"6a19ad4d68c95185308cd9e5d169b10a2cf236c8","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accessibility/speakup/keyhelp.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.37","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.37","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accessibility/speakup/keyhelp.c"]}],"references":["https://git.kernel.org/stable/c/fd339b9ef0accb2c24a5285df842552ebf5eb146","https://git.kernel.org/stable/c/900cd6e5ef46bd15153762fb26bb03f874fccc52","https://git.kernel.org/stable/c/6b39969c724d39b6062efa354dc2d38442bfd021","https://git.kernel.org/stable/c/2e91ab73f9beb659f581e2a6a09f79ace1140905","https://git.kernel.org/stable/c/d7deb90c4cd086cb111f0ecc9da021218fbde1b0","https://git.kernel.org/stable/c/5310334762c3f08f51dc2414344dd47492c07d1d","https://git.kernel.org/stable/c/ca4489b3e54666a7cac7294e71a3cf64e5e95286","https://git.kernel.org/stable/c/6a19ad4d68c95185308cd9e5d169b10a2cf236c8"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/93xxx/CVE-2026-93053.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-93053","state":"PUBLISHED","datePublished":"2026-09-17T16:10:42.397Z","dateUpdated":"2026-10-19T09:04:48.197Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-17T15:57:05.658Z"},"containers":{"cna":{"title":"speakup: keyhelp: guard letter_offsets possible out-of-range indexing","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nspeakup: keyhelp: guard letter_offsets possible out-of-range indexing\n\nhelp_init() builds letter_offsets[] by using the first byte of each\nfunction name as an index via `(start & 31) - 1`. If function_names are\noverridden from sysfs (root) with a name starting outside [a–z], the\nindex underflows or exceeds the array, leading to OOB write.\n\nFunction names can be overridden with the following commands as root:\n\n    modprobe speakup_soft\n    echo \"0 _bad\" > /sys/accessibility/speakup/i18n/function_names\n    # then press Insert+2 on /dev/tty\n\nThis fix checks the first letter in help_init(), and if it is not in the\n[a–z] range the function returns an error to the caller. Eventually this\nerror is propagated to drivers/accessibility/speakup/main.c:2217, which\ncauses a bleep sound."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"fd339b9ef0accb2c24a5285df842552ebf5eb146","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"900cd6e5ef46bd15153762fb26bb03f874fccc52","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"6b39969c724d39b6062efa354dc2d38442bfd021","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"2e91ab73f9beb659f581e2a6a09f79ace1140905","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"d7deb90c4cd086cb111f0ecc9da021218fbde1b0","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"5310334762c3f08f51dc2414344dd47492c07d1d","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"ca4489b3e54666a7cac7294e71a3cf64e5e95286","versionType":"git"},{"version":"c6e3fd22cd538365bfeb82997d5b89562e077d42","status":"affected","lessThan":"6a19ad4d68c95185308cd9e5d169b10a2cf236c8","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accessibility/speakup/keyhelp.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.37","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.37","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accessibility/speakup/keyhelp.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/fd339b9ef0accb2c24a5285df842552ebf5eb146"},{"url":"https://git.kernel.org/stable/c/900cd6e5ef46bd15153762fb26bb03f874fccc52"},{"url":"https://git.kernel.org/stable/c/6b39969c724d39b6062efa354dc2d38442bfd021"},{"url":"https://git.kernel.org/stable/c/2e91ab73f9beb659f581e2a6a09f79ace1140905"},{"url":"https://git.kernel.org/stable/c/d7deb90c4cd086cb111f0ecc9da021218fbde1b0"},{"url":"https://git.kernel.org/stable/c/5310334762c3f08f51dc2414344dd47492c07d1d"},{"url":"https://git.kernel.org/stable/c/ca4489b3e54666a7cac7294e71a3cf64e5e95286"},{"url":"https://git.kernel.org/stable/c/6a19ad4d68c95185308cd9e5d169b10a2cf236c8"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T09:04:48.197Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.37","versionEndExcluding":"5.10.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.37","versionEndExcluding":"5.15.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.37","versionEndExcluding":"6.1.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.37","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.37","versionEndExcluding":"6.12.110"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.37","versionEndExcluding":"6.18.52"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.37","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.37","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}