{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-74387 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-74387 is a high-severity use after free vulnerability in Linux, published on 15 Aug 2026. 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-2026-74387 and fix it if it is affected.\n\nWhat it is: CVE-2026-74387 is a high-severity use after free vulnerability in Linux, published on 15 Aug 2026. 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-2026-74387 in the wild and no public exploit code.\n\nAffected product: Linux. 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-2026-74387/ (Markdown: https://insights.sbomify.com/CVE-2026-74387/index.md)","id":"CVE-2026-74387","markdown":"https://insights.sbomify.com/CVE-2026-74387/index.md","name":"CVE-2026-74387","record":{"aliases":["BELL-CVE-2026-74387","DEBIAN-CVE-2026-74387","GHSA-wp68-7ghh-v4rv","UBUNTU-CVE-2026-74387"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service","code_execution"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel ALSA","requires_auth":"low_privilege","summary":"A race condition in the Linux kernel ALSA MIDI subsystem allows use-after-free or null dereference, potentially leading to system crash or code execution.","user_interaction":"not_required","vuln_class":"use_after_free"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"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\nALSA: seq: midi: Serialize output teardown with event_input\n\nevent_process_midi() borrows msynth-\u003eoutput_rfile.output and then\npasses the substream to dump_midi() and snd_rawmidi_kernel_write()\nwithout synchronizing with the output open/close transition.\nmidisynth_use() also publishes output_rfile before\nsnd_rawmidi_output_params() has finished.\n\nThe last midisynth_unuse() can therefore release the same rawmidi file\nand free substream-\u003eruntime before snd_rawmidi_kernel_write1() takes\nits runtime buffer reference. That leaves the event_input path using a\nstale substream or runtime and can end in a NULL-deref or use-after-free.\n\nFix this with two pieces of synchronization. Keep a short IRQ-safe\nspinlock only for publishing or clearing output_rfile and for pairing\nthe output snapshot with an snd_use_lock_t reference. Once\nevent_process_midi() has taken that in-flight reference, it drops the\nspinlock before calling snd_seq_dump_var_event(), dump_midi(), or\nsnd_rawmidi_kernel_write(). midisynth_unuse() now detaches the visible\nrawmidi file under the same spinlock, waits for the in-flight writers\nto drain, and only then drains and releases the saved file.\nmidisynth_use() likewise opens into a local snd_rawmidi_file and\npublishes it only after snd_rawmidi_output_params() succeeds.\n\nThe buggy scenario involves two paths, with each column showing the\norder within that path:\n\nevent_input path:                     last unuse path:\n1. event_process_midi() snapshots    1. midisynth_unuse() starts\n   output_rfile.output.                 tearing down output_rfile.\n2. dump_midi() reaches               2. snd_rawmidi_kernel_release()\n   snd_rawmidi_kernel_write()           closes the output file.\n   before runtime is pinned.         3. close_substream() frees\n3. The callback keeps using             substream-\u003eruntime.\n   the borrowed substream.\n\nValidation reproduced this kernel report:\nKASAN null-ptr-deref in snd_rawmidi_kernel_write1+0x56/0x360\nRIP: 0033:0x7fde7dd0837f\nRIP: 0010:snd_rawmidi_kernel_write1+0x56/0x360","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":"ALSA: seq: midi: Serialize output teardown with event_input","id":"CVE-2026-74387","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"use_after_free","year":"2026"},"n_packages":0,"n_references":6,"next":{"headline":"ALSA: seq: oss: Fix UAF at handling events with embedded SysEx data","id":"CVE-2026-74388"},"packages":[],"prev":{"headline":"nvmet-tcp: fix page fragment cache leak in error path","id":"CVE-2026-74386"},"products":["Linux"],"published":"2026-08-15","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-10-16","vendors":["Linux"]},"summary":"A race condition in the Linux kernel ALSA MIDI subsystem allows use-after-free or null dereference, potentially leading to system crash or code execution.","url":"https://insights.sbomify.com/CVE-2026-74387/"}