{"id":"CVE-2024-40978","state":"PUBLISHED","title":"scsi: qedi: Fix crash while reading debugfs attribute","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: qedi: Fix crash while reading debugfs attribute\n\nThe qedi_dbg_do_not_recover_cmd_read() function invokes sprintf() directly\non a __user pointer, which results into the crash.\n\nTo fix this issue, use a small local stack buffer for sprintf() and then\ncall simple_read_from_buffer(), which in turns make the copy_to_user()\ncall.\n\nBUG: unable to handle page fault for address: 00007f4801111000\nPGD 8000000864df6067 P4D 8000000864df6067 PUD 864df7067 PMD 846028067 PTE 0\nOops: 0002 [#1] PREEMPT SMP PTI\nHardware name: HPE ProLiant DL380 Gen10/ProLiant DL380 Gen10, BIOS U30 06/15/2023\nRIP: 0010:memcpy_orig+0xcd/0x130\nRSP: 0018:ffffb7a18c3ffc40 EFLAGS: 00010202\nRAX: 00007f4801111000 RBX: 00007f4801111000 RCX: 000000000000000f\nRDX: 000000000000000f RSI: ffffffffc0bfd7a0 RDI: 00007f4801111000\nRBP: ffffffffc0bfd7a0 R08: 725f746f6e5f6f64 R09: 3d7265766f636572\nR10: ffffb7a18c3ffd08 R11: 0000000000000000 R12: 00007f4881110fff\nR13: 000000007fffffff R14: ffffb7a18c3ffca0 R15: ffffffffc0bfd7af\nFS:  00007f480118a740(0000) GS:ffff98e38af00000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 00007f4801111000 CR3: 0000000864b8e001 CR4: 00000000007706e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\nPKRU: 55555554\nCall Trace:\n <TASK>\n ? __die_body+0x1a/0x60\n ? page_fault_oops+0x183/0x510\n ? exc_page_fault+0x69/0x150\n ? asm_exc_page_fault+0x22/0x30\n ? memcpy_orig+0xcd/0x130\n vsnprintf+0x102/0x4c0\n sprintf+0x51/0x80\n qedi_dbg_do_not_recover_cmd_read+0x2f/0x50 [qedi 6bcfdeeecdea037da47069eca2ba717c84a77324]\n full_proxy_read+0x50/0x80\n vfs_read+0xa5/0x2e0\n ? folio_add_new_anon_rmap+0x44/0xa0\n ? set_pte_at+0x15/0x30\n ? do_pte_missing+0x426/0x7f0\n ksys_read+0xa5/0xe0\n do_syscall_64+0x58/0x80\n ? __count_memcg_events+0x46/0x90\n ? count_memcg_event_mm+0x3d/0x60\n ? handle_mm_fault+0x196/0x2f0\n ? do_user_addr_fault+0x267/0x890\n ? exc_page_fault+0x69/0x150\n entry_SYSCALL_64_after_hwframe+0x72/0xdc\nRIP: 0033:0x7f4800f20b4d","publishedAt":"2024-07-12T12:32:14.149Z","updatedAt":"2026-10-15T00:46:24.694Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"56bec63a7fc87ad50b3373a87517dc9770eef9e0","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"21c963de2e86e88f6a8ca556bcebb8e62ab8e901","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"144d76a676b630e321556965011b00e2de0b40a7","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"397a8990c377ee4b61d6df768e61dff9e316d46b","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"eaddb86637669f6bad89245ee63f8fb2bfb50241","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"fa85b016a56b9775a3fe41e5d26e666945963b46","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"e2f433ea7d0ff77998766a088a287337fb43ad75","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"28027ec8e32ecbadcd67623edb290dad61e735b5","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/qedi/qedi_debugfs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.10","versionType":"semver"},{"version":"4.19.317","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.279","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.221","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.162","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.96","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.36","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.7","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/qedi/qedi_debugfs.c"]}],"references":["https://git.kernel.org/stable/c/56bec63a7fc87ad50b3373a87517dc9770eef9e0","https://git.kernel.org/stable/c/21c963de2e86e88f6a8ca556bcebb8e62ab8e901","https://git.kernel.org/stable/c/144d76a676b630e321556965011b00e2de0b40a7","https://git.kernel.org/stable/c/397a8990c377ee4b61d6df768e61dff9e316d46b","https://git.kernel.org/stable/c/eaddb86637669f6bad89245ee63f8fb2bfb50241","https://git.kernel.org/stable/c/fa85b016a56b9775a3fe41e5d26e666945963b46","https://git.kernel.org/stable/c/e2f433ea7d0ff77998766a088a287337fb43ad75","https://git.kernel.org/stable/c/28027ec8e32ecbadcd67623edb290dad61e735b5","https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html","https://cert-portal.siemens.com/productcert/html/ssa-265688.html","https://cert-portal.siemens.com/productcert/html/ssa-355557.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:39.287Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/40xxx/CVE-2024-40978.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-40978","state":"PUBLISHED","datePublished":"2024-07-12T12:32:14.149Z","dateUpdated":"2026-10-15T00:46:24.694Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-07-12T12:17:45.604Z"},"containers":{"cna":{"title":"scsi: qedi: Fix crash while reading debugfs attribute","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: qedi: Fix crash while reading debugfs attribute\n\nThe qedi_dbg_do_not_recover_cmd_read() function invokes sprintf() directly\non a __user pointer, which results into the crash.\n\nTo fix this issue, use a small local stack buffer for sprintf() and then\ncall simple_read_from_buffer(), which in turns make the copy_to_user()\ncall.\n\nBUG: unable to handle page fault for address: 00007f4801111000\nPGD 8000000864df6067 P4D 8000000864df6067 PUD 864df7067 PMD 846028067 PTE 0\nOops: 0002 [#1] PREEMPT SMP PTI\nHardware name: HPE ProLiant DL380 Gen10/ProLiant DL380 Gen10, BIOS U30 06/15/2023\nRIP: 0010:memcpy_orig+0xcd/0x130\nRSP: 0018:ffffb7a18c3ffc40 EFLAGS: 00010202\nRAX: 00007f4801111000 RBX: 00007f4801111000 RCX: 000000000000000f\nRDX: 000000000000000f RSI: ffffffffc0bfd7a0 RDI: 00007f4801111000\nRBP: ffffffffc0bfd7a0 R08: 725f746f6e5f6f64 R09: 3d7265766f636572\nR10: ffffb7a18c3ffd08 R11: 0000000000000000 R12: 00007f4881110fff\nR13: 000000007fffffff R14: ffffb7a18c3ffca0 R15: ffffffffc0bfd7af\nFS:  00007f480118a740(0000) GS:ffff98e38af00000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 00007f4801111000 CR3: 0000000864b8e001 CR4: 00000000007706e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\nPKRU: 55555554\nCall Trace:\n <TASK>\n ? __die_body+0x1a/0x60\n ? page_fault_oops+0x183/0x510\n ? exc_page_fault+0x69/0x150\n ? asm_exc_page_fault+0x22/0x30\n ? memcpy_orig+0xcd/0x130\n vsnprintf+0x102/0x4c0\n sprintf+0x51/0x80\n qedi_dbg_do_not_recover_cmd_read+0x2f/0x50 [qedi 6bcfdeeecdea037da47069eca2ba717c84a77324]\n full_proxy_read+0x50/0x80\n vfs_read+0xa5/0x2e0\n ? folio_add_new_anon_rmap+0x44/0xa0\n ? set_pte_at+0x15/0x30\n ? do_pte_missing+0x426/0x7f0\n ksys_read+0xa5/0xe0\n do_syscall_64+0x58/0x80\n ? __count_memcg_events+0x46/0x90\n ? count_memcg_event_mm+0x3d/0x60\n ? handle_mm_fault+0x196/0x2f0\n ? do_user_addr_fault+0x267/0x890\n ? exc_page_fault+0x69/0x150\n entry_SYSCALL_64_after_hwframe+0x72/0xdc\nRIP: 0033:0x7f4800f20b4d"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"56bec63a7fc87ad50b3373a87517dc9770eef9e0","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"21c963de2e86e88f6a8ca556bcebb8e62ab8e901","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"144d76a676b630e321556965011b00e2de0b40a7","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"397a8990c377ee4b61d6df768e61dff9e316d46b","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"eaddb86637669f6bad89245ee63f8fb2bfb50241","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"fa85b016a56b9775a3fe41e5d26e666945963b46","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"e2f433ea7d0ff77998766a088a287337fb43ad75","versionType":"git"},{"version":"ace7f46ba5fde7273207c7122b0650ceb72510e0","status":"affected","lessThan":"28027ec8e32ecbadcd67623edb290dad61e735b5","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/qedi/qedi_debugfs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.10","versionType":"semver"},{"version":"4.19.317","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.279","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.221","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.162","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.96","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.36","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.7","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/qedi/qedi_debugfs.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/56bec63a7fc87ad50b3373a87517dc9770eef9e0"},{"url":"https://git.kernel.org/stable/c/21c963de2e86e88f6a8ca556bcebb8e62ab8e901"},{"url":"https://git.kernel.org/stable/c/144d76a676b630e321556965011b00e2de0b40a7"},{"url":"https://git.kernel.org/stable/c/397a8990c377ee4b61d6df768e61dff9e316d46b"},{"url":"https://git.kernel.org/stable/c/eaddb86637669f6bad89245ee63f8fb2bfb50241"},{"url":"https://git.kernel.org/stable/c/fa85b016a56b9775a3fe41e5d26e666945963b46"},{"url":"https://git.kernel.org/stable/c/e2f433ea7d0ff77998766a088a287337fb43ad75"},{"url":"https://git.kernel.org/stable/c/28027ec8e32ecbadcd67623edb290dad61e735b5"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T20:23:31.982Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"4.19.317"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"5.4.279"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"5.10.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"5.15.162"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"6.1.96"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"6.6.36"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"6.9.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"6.10"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/56bec63a7fc87ad50b3373a87517dc9770eef9e0","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/21c963de2e86e88f6a8ca556bcebb8e62ab8e901","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/144d76a676b630e321556965011b00e2de0b40a7","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/397a8990c377ee4b61d6df768e61dff9e316d46b","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/eaddb86637669f6bad89245ee63f8fb2bfb50241","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/fa85b016a56b9775a3fe41e5d26e666945963b46","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/e2f433ea7d0ff77998766a088a287337fb43ad75","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/28027ec8e32ecbadcd67623edb290dad61e735b5","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T21:58:43.534Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-40978","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T17:02:30.760177Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:34:21.743Z"}},{"affected":[{"vendor":"Siemens","product":"SIMATIC S7-1500 TM MFP - GNU/Linux subsystem","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V1.1.1","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-265688.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-355557.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T00:46:24.694Z"},"x_adpType":"supplier"}]}}}