{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2023-53045 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2023-53045 is a medium-severity denial of service vulnerability in Linux kernel, published on 2 May 2025. 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-2023-53045 and fix it if it is affected.\n\nWhat it is: CVE-2023-53045 is a medium-severity denial of service vulnerability in Linux kernel, published on 2 May 2025. 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-2023-53045 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-2023-53045/ (Markdown: https://insights.sbomify.com/CVE-2023-53045/index.md)","id":"CVE-2023-53045","markdown":"https://insights.sbomify.com/CVE-2023-53045/index.md","name":"CVE-2023-53045","record":{"aliases":["BELL-CVE-2023-53045","DEBIAN-CVE-2023-53045","GHSA-q37h-r28r-j29c","UBUNTU-CVE-2023-53045"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel USB gadget","requires_auth":"low_privilege","summary":"A local attacker can block USB gadget driver unbinding by holding file descriptors open, causing system hangs during reboot or unbind operations.","user_interaction":"not_required","vuln_class":"denial_of_service"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[{"product":"linux_kernel","vendor":"linux"}],"cvss":{"score":5.5,"severity":"medium","source":"nvd","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[{"id":"CWE-667","name":"Improper Locking"}],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: u_audio: don't let userspace block driver unbind\n\nIn the unbind callback for f_uac1 and f_uac2, a call to snd_card_free()\nvia g_audio_cleanup() will disconnect the card and then wait for all\nresources to be released, which happens when the refcount falls to zero.\nSince userspace can keep the refcount incremented by not closing the\nrelevant file descriptor, the call to unbind may block indefinitely.\nThis can cause a deadlock during reboot, as evidenced by the following\nblocked task observed on my machine:\n\n  task:reboot  state:D stack:0   pid:2827  ppid:569    flags:0x0000000c\n  Call trace:\n   __switch_to+0xc8/0x140\n   __schedule+0x2f0/0x7c0\n   schedule+0x60/0xd0\n   schedule_timeout+0x180/0x1d4\n   wait_for_completion+0x78/0x180\n   snd_card_free+0x90/0xa0\n   g_audio_cleanup+0x2c/0x64\n   afunc_unbind+0x28/0x60\n   ...\n   kernel_restart+0x4c/0xac\n   __do_sys_reboot+0xcc/0x1ec\n   __arm64_sys_reboot+0x28/0x30\n   invoke_syscall+0x4c/0x110\n   ...\n\nThe issue can also be observed by opening the card with arecord and\nthen stopping the process through the shell before unbinding:\n\n  # arecord -D hw:UAC2Gadget -f S32_LE -c 2 -r 48000 /dev/null\n  Recording WAVE '/dev/null' : Signed 32 bit Little Endian, Rate 48000 Hz, Stereo\n  ^Z[1]+  Stopped                    arecord -D hw:UAC2Gadget -f S32_LE -c 2 -r 48000 /dev/null\n  # echo gadget.0 \u003e /sys/bus/gadget/drivers/configfs-gadget/unbind\n  (observe that the unbind command never finishes)\n\nFix the problem by using snd_card_free_when_closed() instead, which will\nstill disconnect the card as desired, but defer the task of freeing the\nresources to the core once userspace closes its file descriptor.","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":"usb: gadget: u_audio: don't let userspace block driver unbind","id":"CVE-2023-53045","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":"linux:linux_kernel","products":["linux:linux_kernel"],"type":"denial_of_service","year":"2023"},"n_packages":0,"n_references":8,"next":{"headline":"Bluetooth: Fix race condition in hci_cmd_sync_clear","id":"CVE-2023-53046"},"packages":[],"prev":{"headline":"dm stats: check for and propagate alloc_percpu failure","id":"CVE-2023-53044"},"products":["Linux"],"published":"2025-05-02","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":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-05-11","vendors":["Linux"]},"summary":"A local attacker can block USB gadget driver unbinding by holding file descriptors open, causing system hangs during reboot or unbind operations.","url":"https://insights.sbomify.com/CVE-2023-53045/"}