{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2024-44959 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2024-44959 is a high-severity memory corruption vulnerability in Linux kernel, published on 4 Sep 2024. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2024-44959 and fix it if it is affected.\n\nWhat it is: CVE-2024-44959 is a high-severity memory corruption vulnerability in Linux kernel, published on 4 Sep 2024. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2024-44959 in the wild and no public exploit code.\n\nAffected product: Linux kernel. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2024-44959/ (Markdown: https://insights.sbomify.com/CVE-2024-44959/index.md)","id":"CVE-2024-44959","markdown":"https://insights.sbomify.com/CVE-2024-44959/index.md","name":"CVE-2024-44959","record":{"aliases":["BELL-CVE-2024-44959","DEBIAN-CVE-2024-44959","GHSA-mwvh-q9h7-62fg","UBUNTU-CVE-2024-44959"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":true,"product_category":"Linux kernel","requires_auth":"low_privilege","summary":"A memory corruption issue in the Linux kernel tracefs subsystem can cause a kernel crash when structure layout randomization is enabled.","user_interaction":"not_required","vuln_class":"memory_corruption"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[{"product":"linux_kernel","vendor":"linux"}],"cvss":{"score":7.8,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\ntracefs: Use generic inode RCU for synchronizing freeing\n\nWith structure layout randomization enabled for 'struct inode' we need to\navoid overlapping any of the RCU-used / initialized-only-once members,\ne.g. i_lru or i_sb_list to not corrupt related list traversals when making\nuse of the rcu_head.\n\nFor an unlucky structure layout of 'struct inode' we may end up with the\nfollowing splat when running the ftrace selftests:\n\n[\u003c...\u003e] list_del corruption, ffff888103ee2cb0-\u003enext (tracefs_inode_cache+0x0/0x4e0 [slab object]) is NULL (prev is tracefs_inode_cache+0x78/0x4e0 [slab object])\n[\u003c...\u003e] ------------[ cut here ]------------\n[\u003c...\u003e] kernel BUG at lib/list_debug.c:54!\n[\u003c...\u003e] invalid opcode: 0000 [#1] PREEMPT SMP KASAN\n[\u003c...\u003e] CPU: 3 PID: 2550 Comm: mount Tainted: G                 N  6.8.12-grsec+ #122 ed2f536ca62f28b087b90e3cc906a8d25b3ddc65\n[\u003c...\u003e] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014\n[\u003c...\u003e] RIP: 0010:[\u003cffffffff84656018\u003e] __list_del_entry_valid_or_report+0x138/0x3e0\n[\u003c...\u003e] Code: 48 b8 99 fb 65 f2 ff ff ff ff e9 03 5c d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff e9 33 5a d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff \u003c0f\u003e 0b 4c 89 e9 48 89 ea 48 89 ee 48 c7 c7 60 8f dd 89 31 c0 e8 2f\n[\u003c...\u003e] RSP: 0018:fffffe80416afaf0 EFLAGS: 00010283\n[\u003c...\u003e] RAX: 0000000000000098 RBX: ffff888103ee2cb0 RCX: 0000000000000000\n[\u003c...\u003e] RDX: ffffffff84655fe8 RSI: ffffffff89dd8b60 RDI: 0000000000000001\n[\u003c...\u003e] RBP: ffff888103ee2cb0 R08: 0000000000000001 R09: fffffbd0082d5f25\n[\u003c...\u003e] R10: fffffe80416af92f R11: 0000000000000001 R12: fdf99c16731d9b6d\n[\u003c...\u003e] R13: 0000000000000000 R14: ffff88819ad4b8b8 R15: 0000000000000000\n[\u003c...\u003e] RBX: tracefs_inode_cache+0x0/0x4e0 [slab object]\n[\u003c...\u003e] RDX: __list_del_entry_valid_or_report+0x108/0x3e0\n[\u003c...\u003e] RSI: __func__.47+0x4340/0x4400\n[\u003c...\u003e] RBP: tracefs_inode_cache+0x0/0x4e0 [slab object]\n[\u003c...\u003e] RSP: process kstack fffffe80416afaf0+0x7af0/0x8000 [mount 2550 2550]\n[\u003c...\u003e] R09: kasan shadow of process kstack fffffe80416af928+0x7928/0x8000 [mount 2550 2550]\n[\u003c...\u003e] R10: process kstack fffffe80416af92f+0x792f/0x8000 [mount 2550 2550]\n[\u003c...\u003e] R14: tracefs_inode_cache+0x78/0x4e0 [slab object]\n[\u003c...\u003e] FS:  00006dcb380c1840(0000) GS:ffff8881e0600000(0000) knlGS:0000000000000000\n[\u003c...\u003e] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[\u003c...\u003e] CR2: 000076ab72b30e84 CR3: 000000000b088004 CR4: 0000000000360ef0 shadow CR4: 0000000000360ef0\n[\u003c...\u003e] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[\u003c...\u003e] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\n[\u003c...\u003e] ASID: 0003\n[\u003c...\u003e] Stack:\n[\u003c...\u003e]  ffffffff818a2315 00000000f5c856ee ffffffff896f1840 ffff888103ee2cb0\n[\u003c...\u003e]  ffff88812b6b9750 0000000079d714b6 fffffbfff1e9280b ffffffff8f49405f\n[\u003c...\u003e]  0000000000000001 0000000000000000 ffff888104457280 ffffffff8248b392\n[\u003c...\u003e] Call Trace:\n[\u003c...\u003e]  \u003cTASK\u003e\n[\u003c...\u003e]  [\u003cffffffff818a2315\u003e] ? lock_release+0x175/0x380 fffffe80416afaf0\n[\u003c...\u003e]  [\u003cffffffff8248b392\u003e] list_lru_del+0x152/0x740 fffffe80416afb48\n[\u003c...\u003e]  [\u003cffffffff8248ba93\u003e] list_lru_del_obj+0x113/0x280 fffffe80416afb88\n[\u003c...\u003e]  [\u003cffffffff8940fd19\u003e] ? _atomic_dec_and_lock+0x119/0x200 fffffe80416afb90\n[\u003c...\u003e]  [\u003cffffffff8295b244\u003e] iput_final+0x1c4/0x9a0 fffffe80416afbb8\n[\u003c...\u003e]  [\u003cffffffff8293a52b\u003e] dentry_unlink_inode+0x44b/0xaa0 fffffe80416afbf8\n[\u003c...\u003e]  [\u003cffffffff8293fefc\u003e] __dentry_kill+0x23c/0xf00 fffffe80416afc40\n[\u003c...\u003e]  [\u003cffffffff8953a85f\u003e] ? __this_cpu_preempt_check+0x1f/0xa0 fffffe80416afc48\n[\u003c...\u003e]  [\u003cffffffff82949ce5\u003e] ? shrink_dentry_list+0x1c5/0x760 fffffe80416afc70\n[\u003c...\u003e]  [\u003cffffffff82949b71\u003e] ? shrink_dentry_list+0x51/0x760 fffffe80416afc78\n[\u003c...\u003e]  [\u003cffffffff82949da8\u003e] shrink_dentry_list+0x288/0x760 fffffe80416afc80\n[\u003c...\u003e]  [\u003cffffffff8294ae75\u003e] shrink_dcache_sb+0x155/0x420 fffffe80416afcc8\n[\u003c...\u003e]  [\u003cffffffff8953a7c3\u003e] ? debug_smp_processor_id+0x23/0xa0 fffffe80416afce0\n[\u003c...\u003e]  [\u003cffffffff8294ad20\u003e] ? do_one_tre\n---truncated---","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"tracefs: Use generic inode RCU for synchronizing freeing","id":"CVE-2024-44959","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":"linux:linux_kernel","products":["linux:linux_kernel"],"type":"memory_corruption","year":"2024"},"n_packages":0,"n_references":3,"next":{"headline":"usb: gadget: core: Check for unset descriptor","id":"CVE-2024-44960"},"packages":[],"prev":{"headline":"sched/smt: Fix unbalance sched_smt_present dec/inc","id":"CVE-2024-44958"},"products":["Linux"],"published":"2024-09-04","related":[{"cvss_score":8.8,"headline":"Linux Kernel Out-of-Bounds Write","id":"CVE-2026-53266","kev_date_added":"2026-09-18","published":"2026-06-25"},{"cvss_score":8.8,"headline":"Linux Kernel Improper Input Validation","id":"CVE-2013-6282","kev_date_added":"2022-09-15","published":"2013-11-19"},{"cvss_score":8.4,"headline":"Linux Kernel Heap-Based Buffer Overflow","id":"CVE-2022-0185","kev_date_added":"2024-08-21","published":"2022-02-11"},{"cvss_score":8.4,"headline":"Linux Kernel Privilege Escalation","id":"CVE-2013-2094","kev_date_added":"2022-09-15","published":"2013-05-14"},{"cvss_score":7.8,"headline":"Linux Kernel Unspecified","id":"CVE-2026-53362","kev_date_added":"2026-08-27","published":"2026-07-04"},{"cvss_score":7.8,"headline":"Linux Kernel Missing Initialization of a Variable","id":"CVE-2026-46300","kev_date_added":"2026-10-28","published":"2026-05-23"},{"cvss_score":7.8,"headline":"Linux Kernel Race Condition","id":"CVE-2025-39964","kev_date_added":"2026-09-18","published":"2025-10-13"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-08-05","vendors":["Linux"]},"summary":"A memory corruption issue in the Linux kernel tracefs subsystem can cause a kernel crash when structure layout randomization is enabled.","url":"https://insights.sbomify.com/CVE-2024-44959/"}