{"id":"CVE-2026-93167","state":"PUBLISHED","title":"csky: Fix a4/a5 restoration in syscall trace path","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncsky: Fix a4/a5 restoration in syscall trace path\n\nThe syscall trace path reloads syscall arguments from pt_regs before\ncalling the syscall handler. On C-SKY ABIv2, the 5th and 6th syscall\narguments are prepared as stack arguments before invoking syscallid.\n\nThe current code adjusts sp before loading LSAVE_A4 and LSAVE_A5. Since\nthose offsets are relative to the original pt_regs base, loading them\nafter changing sp fetches the wrong slots. As a result, traced syscalls\nthat use the 5th or 6th argument may receive corrupted arguments.\n\nThis is visible with mmap2(), which takes six arguments. A small\nPTRACE_SYSCALL reproducer opens a file and maps one page with:\n\n  mmap(NULL, 4096, PROT_READ | PROT_EXEC, MAP_PRIVATE, fd, 0)\n\nBefore the fix, the traced child fails the mmap and exits with 12.\nAfter the fix, the mapping succeeds and the child exits with 0.\n\nFix the trace path by loading a4/a5 from pt_regs before changing sp.\n\nTested on: ck860f, linux-4.19.15, C-SKY abiv2","publishedAt":"2026-09-17T16:11:59.234Z","updatedAt":"2026-10-19T09:06:39.063Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"e9ae8e86eed68bea5d2670eadf61938a43bd2263","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"64e3ec7a71d3b715e2567f19f64207f04999bb0c","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"863fa63fd1491f201ac819f805a8db98d2a32c3d","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"e71a3dc5b8d2ea4d9cfbdb135d6b7777de84212e","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"31c81b376e5f058c7f2c94f69719cf7caec2fc3f","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"a776afa89424570bfa637ebf812ca281a5732904","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"343aa5275484d627c921a42e8e115cae366be5de","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"abb81e5ce7d995baa41556b8125fa59e28ba3be8","versionType":"git"},{"version":"108681048cf728a8570e036c34ebd7daa43133b4","status":"affected","versionType":"git"},{"version":"3a5837c692918c229baf63fe7950965d27c48ac2","status":"affected","versionType":"git"},{"version":"5.4.47","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"5.6.19","status":"affected","lessThan":"5.7","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/csky/kernel/entry.S"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.7","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":["arch/csky/kernel/entry.S"]}],"references":["https://git.kernel.org/stable/c/e9ae8e86eed68bea5d2670eadf61938a43bd2263","https://git.kernel.org/stable/c/64e3ec7a71d3b715e2567f19f64207f04999bb0c","https://git.kernel.org/stable/c/863fa63fd1491f201ac819f805a8db98d2a32c3d","https://git.kernel.org/stable/c/e71a3dc5b8d2ea4d9cfbdb135d6b7777de84212e","https://git.kernel.org/stable/c/31c81b376e5f058c7f2c94f69719cf7caec2fc3f","https://git.kernel.org/stable/c/a776afa89424570bfa637ebf812ca281a5732904","https://git.kernel.org/stable/c/343aa5275484d627c921a42e8e115cae366be5de","https://git.kernel.org/stable/c/abb81e5ce7d995baa41556b8125fa59e28ba3be8"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/93xxx/CVE-2026-93167.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-93167","state":"PUBLISHED","datePublished":"2026-09-17T16:11:59.234Z","dateUpdated":"2026-10-19T09:06:39.063Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-17T16:02:15.090Z"},"containers":{"cna":{"title":"csky: Fix a4/a5 restoration in syscall trace path","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncsky: Fix a4/a5 restoration in syscall trace path\n\nThe syscall trace path reloads syscall arguments from pt_regs before\ncalling the syscall handler. On C-SKY ABIv2, the 5th and 6th syscall\narguments are prepared as stack arguments before invoking syscallid.\n\nThe current code adjusts sp before loading LSAVE_A4 and LSAVE_A5. Since\nthose offsets are relative to the original pt_regs base, loading them\nafter changing sp fetches the wrong slots. As a result, traced syscalls\nthat use the 5th or 6th argument may receive corrupted arguments.\n\nThis is visible with mmap2(), which takes six arguments. A small\nPTRACE_SYSCALL reproducer opens a file and maps one page with:\n\n  mmap(NULL, 4096, PROT_READ | PROT_EXEC, MAP_PRIVATE, fd, 0)\n\nBefore the fix, the traced child fails the mmap and exits with 12.\nAfter the fix, the mapping succeeds and the child exits with 0.\n\nFix the trace path by loading a4/a5 from pt_regs before changing sp.\n\nTested on: ck860f, linux-4.19.15, C-SKY abiv2"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"e9ae8e86eed68bea5d2670eadf61938a43bd2263","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"64e3ec7a71d3b715e2567f19f64207f04999bb0c","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"863fa63fd1491f201ac819f805a8db98d2a32c3d","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"e71a3dc5b8d2ea4d9cfbdb135d6b7777de84212e","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"31c81b376e5f058c7f2c94f69719cf7caec2fc3f","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"a776afa89424570bfa637ebf812ca281a5732904","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"343aa5275484d627c921a42e8e115cae366be5de","versionType":"git"},{"version":"e0bbb53843b5fdfe464b099217e3b9d97e8a75d7","status":"affected","lessThan":"abb81e5ce7d995baa41556b8125fa59e28ba3be8","versionType":"git"},{"version":"108681048cf728a8570e036c34ebd7daa43133b4","status":"affected","versionType":"git"},{"version":"3a5837c692918c229baf63fe7950965d27c48ac2","status":"affected","versionType":"git"},{"version":"5.4.47","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"5.6.19","status":"affected","lessThan":"5.7","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/csky/kernel/entry.S"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.7","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":["arch/csky/kernel/entry.S"]}],"references":[{"url":"https://git.kernel.org/stable/c/e9ae8e86eed68bea5d2670eadf61938a43bd2263"},{"url":"https://git.kernel.org/stable/c/64e3ec7a71d3b715e2567f19f64207f04999bb0c"},{"url":"https://git.kernel.org/stable/c/863fa63fd1491f201ac819f805a8db98d2a32c3d"},{"url":"https://git.kernel.org/stable/c/e71a3dc5b8d2ea4d9cfbdb135d6b7777de84212e"},{"url":"https://git.kernel.org/stable/c/31c81b376e5f058c7f2c94f69719cf7caec2fc3f"},{"url":"https://git.kernel.org/stable/c/a776afa89424570bfa637ebf812ca281a5732904"},{"url":"https://git.kernel.org/stable/c/343aa5275484d627c921a42e8e115cae366be5de"},{"url":"https://git.kernel.org/stable/c/abb81e5ce7d995baa41556b8125fa59e28ba3be8"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T09:06:39.063Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.10.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.15.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.1.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.12.110"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.18.52"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"7.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.47"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.6.19"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}