CVE-2025-39683 (GCVE-0-2025-39683)
Vulnerability from cvelistv5
Published
2025-09-05 17:20
Modified
2025-09-29 05:57
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
tracing: Limit access to parser->buffer when trace_get_user failed
When the length of the string written to set_ftrace_filter exceeds
FTRACE_BUFF_MAX, the following KASAN alarm will be triggered:
BUG: KASAN: slab-out-of-bounds in strsep+0x18c/0x1b0
Read of size 1 at addr ffff0000d00bd5ba by task ash/165
CPU: 1 UID: 0 PID: 165 Comm: ash Not tainted 6.16.0-g6bcdbd62bd56-dirty
Hardware name: linux,dummy-virt (DT)
Call trace:
show_stack+0x34/0x50 (C)
dump_stack_lvl+0xa0/0x158
print_address_description.constprop.0+0x88/0x398
print_report+0xb0/0x280
kasan_report+0xa4/0xf0
__asan_report_load1_noabort+0x20/0x30
strsep+0x18c/0x1b0
ftrace_process_regex.isra.0+0x100/0x2d8
ftrace_regex_release+0x484/0x618
__fput+0x364/0xa58
____fput+0x28/0x40
task_work_run+0x154/0x278
do_notify_resume+0x1f0/0x220
el0_svc+0xec/0xf0
el0t_64_sync_handler+0xa0/0xe8
el0t_64_sync+0x1ac/0x1b0
The reason is that trace_get_user will fail when processing a string
longer than FTRACE_BUFF_MAX, but not set the end of parser->buffer to 0.
Then an OOB access will be triggered in ftrace_regex_release->
ftrace_process_regex->strsep->strpbrk. We can solve this problem by
limiting access to parser->buffer when trace_get_user failed.
References
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
Linux | Linux |
Version: 634684d79733124f7470b226b0f42aada4426b07 Version: 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 Version: 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 Version: 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 Version: 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 Version: 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 Version: 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 Version: 24cd31752f47699b89b4b3471155c8e599a1a23a Version: e9cb474de7ff7a970c2a3951c12ec7e3113c0c35 Version: 6ab671191f64b0da7d547e2ad4dc199ca7e5b558 Version: 3d9281a4ac7171c808f9507f0937eb236b353905 Version: 0b641b25870f02e2423e494365fc5243cc1e2759 Version: ffd51dbfd2900e50c71b5c069fe407957e52d61f Version: cdd107d7f18158d966c2bc136204fe826dac445c |
||
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "kernel/trace/trace.c", "kernel/trace/trace.h" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "b842ef39c2ad6156c13afdec25ecc6792a9b67b9", "status": "affected", "version": "634684d79733124f7470b226b0f42aada4426b07", "versionType": "git" }, { "lessThan": "41b838420457802f21918df66764b6fbf829d330", "status": "affected", "version": "8c9af478c06bb1ab1422f90d8ecbc53defd44bc3", "versionType": "git" }, { "lessThan": "418b448e1d7470da9d4d4797f71782595ee69c49", "status": "affected", "version": "8c9af478c06bb1ab1422f90d8ecbc53defd44bc3", "versionType": "git" }, { "lessThan": "58ff8064cb4c7eddac4da1a59da039ead586950a", "status": "affected", "version": "8c9af478c06bb1ab1422f90d8ecbc53defd44bc3", "versionType": "git" }, { "lessThan": "d0c68045b8b0f3737ed7bd6b8c83b7887014adee", "status": "affected", "version": "8c9af478c06bb1ab1422f90d8ecbc53defd44bc3", "versionType": "git" }, { "lessThan": "3079517a5ba80901fe828a06998da64b9b8749be", "status": "affected", "version": "8c9af478c06bb1ab1422f90d8ecbc53defd44bc3", "versionType": "git" }, { "lessThan": "6a909ea83f226803ea0e718f6e88613df9234d58", "status": "affected", "version": "8c9af478c06bb1ab1422f90d8ecbc53defd44bc3", "versionType": "git" }, { "status": "affected", "version": "24cd31752f47699b89b4b3471155c8e599a1a23a", "versionType": "git" }, { "status": "affected", "version": "e9cb474de7ff7a970c2a3951c12ec7e3113c0c35", "versionType": "git" }, { "status": "affected", "version": "6ab671191f64b0da7d547e2ad4dc199ca7e5b558", "versionType": "git" }, { "status": "affected", "version": "3d9281a4ac7171c808f9507f0937eb236b353905", "versionType": "git" }, { "status": "affected", "version": "0b641b25870f02e2423e494365fc5243cc1e2759", "versionType": "git" }, { "status": "affected", "version": "ffd51dbfd2900e50c71b5c069fe407957e52d61f", "versionType": "git" }, { "status": "affected", "version": "cdd107d7f18158d966c2bc136204fe826dac445c", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "kernel/trace/trace.c", "kernel/trace/trace.h" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "5.13" }, { "lessThan": "5.13", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "5.10.*", "status": "unaffected", "version": "5.10.241", "versionType": "semver" }, { "lessThanOrEqual": "5.15.*", "status": "unaffected", "version": "5.15.190", "versionType": "semver" }, { "lessThanOrEqual": "6.1.*", "status": "unaffected", "version": "6.1.149", "versionType": "semver" }, { "lessThanOrEqual": "6.6.*", "status": "unaffected", "version": "6.6.103", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.44", "versionType": "semver" }, { "lessThanOrEqual": "6.16.*", "status": "unaffected", "version": "6.16.4", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.17", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.10.241", "versionStartIncluding": "5.10.36", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.15.190", "versionStartIncluding": "5.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.1.149", "versionStartIncluding": "5.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.6.103", "versionStartIncluding": "5.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.12.44", "versionStartIncluding": "5.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.16.4", "versionStartIncluding": "5.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.17", "versionStartIncluding": "5.13", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.4.269", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.9.269", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.14.233", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.19.191", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.4.118", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.11.20", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.12.3", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Limit access to parser-\u003ebuffer when trace_get_user failed\n\nWhen the length of the string written to set_ftrace_filter exceeds\nFTRACE_BUFF_MAX, the following KASAN alarm will be triggered:\n\nBUG: KASAN: slab-out-of-bounds in strsep+0x18c/0x1b0\nRead of size 1 at addr ffff0000d00bd5ba by task ash/165\n\nCPU: 1 UID: 0 PID: 165 Comm: ash Not tainted 6.16.0-g6bcdbd62bd56-dirty\nHardware name: linux,dummy-virt (DT)\nCall trace:\n show_stack+0x34/0x50 (C)\n dump_stack_lvl+0xa0/0x158\n print_address_description.constprop.0+0x88/0x398\n print_report+0xb0/0x280\n kasan_report+0xa4/0xf0\n __asan_report_load1_noabort+0x20/0x30\n strsep+0x18c/0x1b0\n ftrace_process_regex.isra.0+0x100/0x2d8\n ftrace_regex_release+0x484/0x618\n __fput+0x364/0xa58\n ____fput+0x28/0x40\n task_work_run+0x154/0x278\n do_notify_resume+0x1f0/0x220\n el0_svc+0xec/0xf0\n el0t_64_sync_handler+0xa0/0xe8\n el0t_64_sync+0x1ac/0x1b0\n\nThe reason is that trace_get_user will fail when processing a string\nlonger than FTRACE_BUFF_MAX, but not set the end of parser-\u003ebuffer to 0.\nThen an OOB access will be triggered in ftrace_regex_release-\u003e\nftrace_process_regex-\u003estrsep-\u003estrpbrk. We can solve this problem by\nlimiting access to parser-\u003ebuffer when trace_get_user failed." } ], "providerMetadata": { "dateUpdated": "2025-09-29T05:57:20.731Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/b842ef39c2ad6156c13afdec25ecc6792a9b67b9" }, { "url": "https://git.kernel.org/stable/c/41b838420457802f21918df66764b6fbf829d330" }, { "url": "https://git.kernel.org/stable/c/418b448e1d7470da9d4d4797f71782595ee69c49" }, { "url": "https://git.kernel.org/stable/c/58ff8064cb4c7eddac4da1a59da039ead586950a" }, { "url": "https://git.kernel.org/stable/c/d0c68045b8b0f3737ed7bd6b8c83b7887014adee" }, { "url": "https://git.kernel.org/stable/c/3079517a5ba80901fe828a06998da64b9b8749be" }, { "url": "https://git.kernel.org/stable/c/6a909ea83f226803ea0e718f6e88613df9234d58" } ], "title": "tracing: Limit access to parser-\u003ebuffer when trace_get_user failed", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-39683", "datePublished": "2025-09-05T17:20:49.821Z", "dateReserved": "2025-04-16T07:20:57.113Z", "dateUpdated": "2025-09-29T05:57:20.731Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-39683\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-09-05T18:15:44.810\",\"lastModified\":\"2025-09-08T16:25:38.810\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ntracing: Limit access to parser-\u003ebuffer when trace_get_user failed\\n\\nWhen the length of the string written to set_ftrace_filter exceeds\\nFTRACE_BUFF_MAX, the following KASAN alarm will be triggered:\\n\\nBUG: KASAN: slab-out-of-bounds in strsep+0x18c/0x1b0\\nRead of size 1 at addr ffff0000d00bd5ba by task ash/165\\n\\nCPU: 1 UID: 0 PID: 165 Comm: ash Not tainted 6.16.0-g6bcdbd62bd56-dirty\\nHardware name: linux,dummy-virt (DT)\\nCall trace:\\n show_stack+0x34/0x50 (C)\\n dump_stack_lvl+0xa0/0x158\\n print_address_description.constprop.0+0x88/0x398\\n print_report+0xb0/0x280\\n kasan_report+0xa4/0xf0\\n __asan_report_load1_noabort+0x20/0x30\\n strsep+0x18c/0x1b0\\n ftrace_process_regex.isra.0+0x100/0x2d8\\n ftrace_regex_release+0x484/0x618\\n __fput+0x364/0xa58\\n ____fput+0x28/0x40\\n task_work_run+0x154/0x278\\n do_notify_resume+0x1f0/0x220\\n el0_svc+0xec/0xf0\\n el0t_64_sync_handler+0xa0/0xe8\\n el0t_64_sync+0x1ac/0x1b0\\n\\nThe reason is that trace_get_user will fail when processing a string\\nlonger than FTRACE_BUFF_MAX, but not set the end of parser-\u003ebuffer to 0.\\nThen an OOB access will be triggered in ftrace_regex_release-\u003e\\nftrace_process_regex-\u003estrsep-\u003estrpbrk. We can solve this problem by\\nlimiting access to parser-\u003ebuffer when trace_get_user failed.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3079517a5ba80901fe828a06998da64b9b8749be\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/418b448e1d7470da9d4d4797f71782595ee69c49\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/41b838420457802f21918df66764b6fbf829d330\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/58ff8064cb4c7eddac4da1a59da039ead586950a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6a909ea83f226803ea0e718f6e88613df9234d58\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b842ef39c2ad6156c13afdec25ecc6792a9b67b9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d0c68045b8b0f3737ed7bd6b8c83b7887014adee\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…