Linux: Out-of-bounds Read
CVE-2024-40978 is a high-severity out-of-bounds read vulnerability in Linux, with a CVSS 3.1 base score of 7.1 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, without any action from a user. The record lists versions 56bec63a7fc87ad50b3373a87517dc9770eef9e0, 21c963de2e86e88f6a8ca556bcebb8e62ab8e901, 144d76a676b630e321556965011b00e2de0b40a7 as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.32% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Linux to 56bec63a7fc87ad50b3373a87517dc9770eef9e0 or 21c963de2e86e88f6a8ca556bcebb8e62ab8e901 or 144d76a676b630e321556965011b00e2de0b40a7 or 397a8990c377ee4b61d6df768e61dff9e316d46b, whichever matches your release line, or a later version.
- Update SIMATIC S7-1500 TM MFP - GNU/Linux subsystem to V1.1.1 or a later version.
- Update Linux Kernel to 4.19.317 or 5.4.279 or 5.10.221 or 5.15.162, whichever matches your release line, or a later version.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Linux | Linux | ace7f46ba5fde7273207c7122b0650ceb72510e0 up to, but not including, 56bec63a7fc87ad50b3373a87517dc9770eef9e0; ace7f46ba5fde7273207c7122b0650ceb72510e0 up to, but not including, 21c963de2e86e88f6a8ca556bcebb8e62ab8e901; ace7f46ba5fde7273207c7122b0650ceb72510e0 up to, but not including, 144d76a676b630e321556965011b00e2de0b40a7; ace7f46ba5fde7273207c7122b0650ceb72510e0 up to, but not including, 397a8990c377ee4b61d6df768e61dff9e316d46b; ace7f46ba5fde7273207c7122b0650ceb72510e0 up to, but not including, eaddb86637669f6bad89245ee63f8fb2bfb50241; ace7f46ba5fde7273207c7122b0650ceb72510e0 up to, but not including, fa85b016a56b9775a3fe41e5d26e666945963b46; ace7f46ba5fde7273207c7122b0650ceb72510e0 up to, but not including, e2f433ea7d0ff77998766a088a287337fb43ad75; ace7f46ba5fde7273207c7122b0650ceb72510e0 up to, but not including, 28027ec8e32ecbadcd67623edb290dad61e735b5; and 1 more ranges | 56bec63a7fc87ad50b3373a87517dc9770eef9e0, 21c963de2e86e88f6a8ca556bcebb8e62ab8e901, 144d76a676b630e321556965011b00e2de0b40a7, 397a8990c377ee4b61d6df768e61dff9e316d46b, eaddb86637669f6bad89245ee63f8fb2bfb50241, fa85b016a56b9775a3fe41e5d26e666945963b46 |
| Siemens | SIMATIC S7-1500 TM MFP - GNU/Linux subsystem | before V1.1.1 | V1.1.1 |
| Linux | Linux Kernel | before 4.19.317; 4.20 up to, but not including, 5.4.279; 5.5 up to, but not including, 5.10.221; 5.11 up to, but not including, 5.15.162; 5.16 up to, but not including, 6.1.96; 6.2 up to, but not including, 6.6.36; 6.7 up to, but not including, 6.9.7 | 4.19.317, 5.4.279, 5.10.221, 5.15.162, 6.1.96, 6.6.36 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- LocalThe attacker needs local access or must trick a user into running something.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- NoneNothing can be modified.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H. Scored by NVD.
Official description
In the Linux kernel, the following vulnerability has been resolved: scsi: qedi: Fix crash while reading debugfs attribute The qedi_dbg_do_not_recover_cmd_read() function invokes sprintf() directly on a __user pointer, which results into the crash. To fix this issue, use a small local stack buffer for sprintf() and then call simple_read_from_buffer(), which in turns make the copy_to_user() call. BUG: unable to handle page fault for address: 00007f4801111000 PGD 8000000864df6067 P4D 8000000864df6067 PUD 864df7067 PMD 846028067 PTE 0 Oops: 0002 [#1] PREEMPT SMP PTI Hardware name: HPE ProLiant DL380 Gen10/ProLiant DL380 Gen10, BIOS U30 06/15/2023 RIP: 0010:memcpy_orig+0xcd/0x130 RSP: 0018:ffffb7a18c3ffc40 EFLAGS: 00010202 RAX: 00007f4801111000 RBX: 00007f4801111000 RCX: 000000000000000f RDX: 000000000000000f RSI: ffffffffc0bfd7a0 RDI: 00007f4801111000 RBP: ffffffffc0bfd7a0 R08: 725f746f6e5f6f64 R09: 3d7265766f636572 R10: ffffb7a18c3ffd08 R11: 0000000000000000 R12: 00007f4881110fff R13: 000000007fffffff R14: ffffb7a18c3ffca0 R15: ffffffffc0bfd7af FS: 00007f480118a740(0000) GS:ffff98e38af00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f4801111000 CR3: 0000000864b8e001 CR4: 00000000007706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <TASK> ? __die_body+0x1a/0x60 ? page_fault_oops+0x183/0x510 ? exc_page_fault+0x69/0x150 ? asm_exc_page_fault+0x22/0x30 ? memcpy_orig+0xcd/0x130 vsnprintf+0x102/0x4c0 sprintf+0x51/0x80 qedi_dbg_do_not_recover_cmd_read+0x2f/0x50 [qedi 6bcfdeeecdea037da47069eca2ba717c84a77324] full_proxy_read+0x50/0x80 vfs_read+0xa5/0x2e0 ? folio_add_new_anon_rmap+0x44/0xa0 ? set_pte_at+0x15/0x30 ? do_pte_missing+0x426/0x7f0 ksys_read+0xa5/0xe0 do_syscall_64+0x58/0x80 ? __count_memcg_events+0x46/0x90 ? count_memcg_event_mm+0x3d/0x60 ? handle_mm_fault+0x196/0x2f0 ? do_user_addr_fault+0x267/0x890 ? exc_page_fault+0x69/0x150 entry_SYSCALL_64_after_hwframe+0x72/0xdc RIP: 0033:0x7f4800f20b4d
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Out-of-bounds Read
The product reads data past the end, or before the beginning, of the intended buffer.
How developers prevent this class of flaw
- Use a language that provides appropriate memory abstractions.
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
- git.kernel.org/stable/c/144d76a676b630e321556965011b00e2de0b40a7
- git.kernel.org/stable/c/21c963de2e86e88f6a8ca556bcebb8e62ab8e901
- git.kernel.org/stable/c/28027ec8e32ecbadcd67623edb290dad61e735b5
- git.kernel.org/stable/c/397a8990c377ee4b61d6df768e61dff9e316d46b
- git.kernel.org/stable/c/56bec63a7fc87ad50b3373a87517dc9770eef9e0
- git.kernel.org/stable/c/e2f433ea7d0ff77998766a088a287337fb43ad75
- git.kernel.org/stable/c/eaddb86637669f6bad89245ee63f8fb2bfb50241
- git.kernel.org/stable/c/fa85b016a56b9775a3fe41e5d26e666945963b46
Other references
Recent Out-of-bounds Read vulnerabilities
- 7.1 High severity
- 9.1 Critical severity
- 8.8 High severity
- 8.4 High severity
- 8.2 High severity
- 7.8 High severity
Spotted an error? Tell us.