{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2023-54148 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2023-54148 is an use after free vulnerability in Linux, published on 24 Dec 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-54148 and fix it if it is affected.\n\nWhat it is: CVE-2023-54148 is an use after free vulnerability in Linux, published on 24 Dec 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-54148 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-2023-54148/ (Markdown: https://insights.sbomify.com/CVE-2023-54148/index.md)","id":"CVE-2023-54148","markdown":"https://insights.sbomify.com/CVE-2023-54148/index.md","name":"CVE-2023-54148","record":{"aliases":["BELL-CVE-2023-54148","DEBIAN-CVE-2023-54148","GHSA-hr7g-x38j-56v5","UBUNTU-CVE-2023-54148"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service","code_execution"],"network_reachable":"adjacent_or_local","non_default_config":true,"product_category":"Linux kernel driver","requires_auth":"high_privilege","summary":"A use-after-free in the mlx5e driver allows local attackers with high privileges to cause a system crash or potentially execute code during network interface unloading.","user_interaction":"not_required","vuln_class":"use_after_free"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5e: Move representor neigh cleanup to profile cleanup_tx\n\nFor IP tunnel encapsulation in ECMP (Equal-Cost Multipath) mode, as\nthe flow is duplicated to the peer eswitch, the related neighbour\ninformation on the peer uplink representor is created as well.\n\nIn the cited commit, eswitch devcom unpair is moved to uplink unload\nAPI, specifically the profile-\u003ecleanup_tx. If there is a encap rule\noffloaded in ECMP mode, when one eswitch does unpair (because of\nunloading the driver, for instance), and the peer rule from the peer\neswitch is going to be deleted, the use-after-free error is triggered\nwhile accessing neigh info, as it is already cleaned up in uplink's\nprofile-\u003edisable, which is before its profile-\u003ecleanup_tx.\n\nTo fix this issue, move the neigh cleanup to profile's cleanup_tx\ncallback, and after mlx5e_cleanup_uplink_rep_tx is called. The neigh\ninit is moved to init_tx for symmeter.\n\n[ 2453.376299] BUG: KASAN: slab-use-after-free in mlx5e_rep_neigh_entry_release+0x109/0x3a0 [mlx5_core]\n[ 2453.379125] Read of size 4 at addr ffff888127af9008 by task modprobe/2496\n\n[ 2453.381542] CPU: 7 PID: 2496 Comm: modprobe Tainted: G    B              6.4.0-rc7+ #15\n[ 2453.383386] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014\n[ 2453.384335] Call Trace:\n[ 2453.384625]  \u003cTASK\u003e\n[ 2453.384891]  dump_stack_lvl+0x33/0x50\n[ 2453.385285]  print_report+0xc2/0x610\n[ 2453.385667]  ? __virt_addr_valid+0xb1/0x130\n[ 2453.386091]  ? mlx5e_rep_neigh_entry_release+0x109/0x3a0 [mlx5_core]\n[ 2453.386757]  kasan_report+0xae/0xe0\n[ 2453.387123]  ? mlx5e_rep_neigh_entry_release+0x109/0x3a0 [mlx5_core]\n[ 2453.387798]  mlx5e_rep_neigh_entry_release+0x109/0x3a0 [mlx5_core]\n[ 2453.388465]  mlx5e_rep_encap_entry_detach+0xa6/0xe0 [mlx5_core]\n[ 2453.389111]  mlx5e_encap_dealloc+0xa7/0x100 [mlx5_core]\n[ 2453.389706]  mlx5e_tc_tun_encap_dests_unset+0x61/0xb0 [mlx5_core]\n[ 2453.390361]  mlx5_free_flow_attr_actions+0x11e/0x340 [mlx5_core]\n[ 2453.391015]  ? complete_all+0x43/0xd0\n[ 2453.391398]  ? free_flow_post_acts+0x38/0x120 [mlx5_core]\n[ 2453.392004]  mlx5e_tc_del_fdb_flow+0x4ae/0x690 [mlx5_core]\n[ 2453.392618]  mlx5e_tc_del_fdb_peers_flow+0x308/0x370 [mlx5_core]\n[ 2453.393276]  mlx5e_tc_clean_fdb_peer_flows+0xf5/0x140 [mlx5_core]\n[ 2453.393925]  mlx5_esw_offloads_unpair+0x86/0x540 [mlx5_core]\n[ 2453.394546]  ? mlx5_esw_offloads_set_ns_peer.isra.0+0x180/0x180 [mlx5_core]\n[ 2453.395268]  ? down_write+0xaa/0x100\n[ 2453.395652]  mlx5_esw_offloads_devcom_event+0x203/0x530 [mlx5_core]\n[ 2453.396317]  mlx5_devcom_send_event+0xbb/0x190 [mlx5_core]\n[ 2453.396917]  mlx5_esw_offloads_devcom_cleanup+0xb0/0xd0 [mlx5_core]\n[ 2453.397582]  mlx5e_tc_esw_cleanup+0x42/0x120 [mlx5_core]\n[ 2453.398182]  mlx5e_rep_tc_cleanup+0x15/0x30 [mlx5_core]\n[ 2453.398768]  mlx5e_cleanup_rep_tx+0x6c/0x80 [mlx5_core]\n[ 2453.399367]  mlx5e_detach_netdev+0xee/0x120 [mlx5_core]\n[ 2453.399957]  mlx5e_netdev_change_profile+0x84/0x170 [mlx5_core]\n[ 2453.400598]  mlx5e_vport_rep_unload+0xe0/0xf0 [mlx5_core]\n[ 2453.403781]  mlx5_eswitch_unregister_vport_reps+0x15e/0x190 [mlx5_core]\n[ 2453.404479]  ? mlx5_eswitch_register_vport_reps+0x200/0x200 [mlx5_core]\n[ 2453.405170]  ? up_write+0x39/0x60\n[ 2453.405529]  ? kernfs_remove_by_name_ns+0xb7/0xe0\n[ 2453.405985]  auxiliary_bus_remove+0x2e/0x40\n[ 2453.406405]  device_release_driver_internal+0x243/0x2d0\n[ 2453.406900]  ? kobject_put+0x42/0x2d0\n[ 2453.407284]  bus_remove_device+0x128/0x1d0\n[ 2453.407687]  device_del+0x240/0x550\n[ 2453.408053]  ? waiting_for_supplier_show+0xe0/0xe0\n[ 2453.408511]  ? kobject_put+0xfa/0x2d0\n[ 2453.408889]  ? __kmem_cache_free+0x14d/0x280\n[ 2453.409310]  mlx5_rescan_drivers_locked.part.0+0xcd/0x2b0 [mlx5_core]\n[ 2453.409973]  mlx5_unregister_device+0x40/0x50 [mlx5_core]\n[ 2453.410561]  mlx5_uninit_one+0x3d/0x110 [mlx5_core]\n[ 2453.411111]  remove_one+0x89/0x130 [mlx5_core]\n[ 24\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":"net/mlx5e: Move representor neigh cleanup to profile cleanup_tx","id":"CVE-2023-54148","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"use_after_free","year":"2023"},"n_packages":0,"n_references":3,"next":{"headline":"net: dsa: avoid suspicious RCU usage for synced VLAN-aware MAC addresses","id":"CVE-2023-54149"},"packages":[],"prev":{"headline":"media: platform: mtk-mdp3: Add missing check and free for ida_alloc","id":"CVE-2023-54147"},"products":["Linux"],"published":"2025-12-24","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-05-23","vendors":["Linux"]},"summary":"A use-after-free in the mlx5e driver allows local attackers with high privileges to cause a system crash or potentially execute code during network interface unloading.","url":"https://insights.sbomify.com/CVE-2023-54148/"}