CVE-2023-54114

In the Linux kernel, the following vulnerability has been resolved: net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment() As the call trace shows, skb_panic was caused by wrong skb->mac_header in nsh_gso_segment(): invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI CPU: 3 PID: 2737 Comm: syz Not tainted 6.3.0-next-20230505 #1 RIP: 0010:skb_panic+0xda/0xe0 call Trace: skb_push+0x91/0xa0 nsh_gso_segment+0x4f3/0x570 skb_mac_gso_segment+0x19e/0x270 __skb_gso_segment+0x1e8/0x3c0 validate_xmit_skb+0x452/0x890 validate_xmit_skb_list+0x99/0xd0 sch_direct_xmit+0x294/0x7c0 __dev_queue_xmit+0x16f0/0x1d70 packet_xmit+0x185/0x210 packet_snd+0xc15/0x1170 packet_sendmsg+0x7b/0xa0 sock_sendmsg+0x14f/0x160 The root cause is: nsh_gso_segment() use skb->network_header - nhoff to reset mac_header in skb_gso_error_unwind() if inner-layer protocol gso fails. However, skb->network_header may be reset by inner-layer protocol gso function e.g. mpls_gso_segment. skb->mac_header reset by the inaccurate network_header will be larger than skb headroom. nsh_gso_segment nhoff = skb->network_header - skb->mac_header; __skb_pull(skb,nsh_len) skb_mac_gso_segment mpls_gso_segment skb_reset_network_header(skb);//skb->network_header+=nsh_len return -EINVAL; skb_gso_error_unwind skb_push(skb, nsh_len); skb->mac_header = skb->network_header - nhoff; // skb->mac_header > skb->headroom, cause skb_push panic Use correct mac_offset to restore mac_header and get rid of nhoff.

Package Linux Kernel
Published 2025-12-24
Last modified 2026-04-15
Patch available
Yes

Affected versions

Linux kernel versions 4.14 and later are affected. Fixed in 4.14.316, 4.19.284, 5.4.244, 5.10.181, 5.15.113, 6.1.30, 6.3.4, 6.4 and their respective stable series.

Affected from
≥ 4.14
Fixed in
✓ 4.14.316 4.14.x ✓ 4.19.284 4.19.x ✓ 5.4.244 5.4.x ✓ 5.10.181 5.10.x ✓ 5.15.113 5.15.x ✓ 6.1.30 6.1.x ✓ 6.3.4 6.3.x ✓ 6.4

References

The following references provide additional information about CVE-2023-54114 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.

Frequently asked questions

  • What is CVE-2023-54114?

    CVE-2023-54114 is a unscored severity Linux kernel vulnerability . It affects Linux kernel versions from 4.14 onward and has been patched in 4.14.316, 4.19.284, 5.4.244 and others. CVE-2023-54114 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.

  • Is there a patch available for CVE-2023-54114?

    Yes — CVE-2023-54114 has been patched. Fixed versions include 4.14.316, 4.19.284, 5.4.244 and others. If you are running Linux kernel 4.14 or later up to the fix versions, apply the relevant patch for your kernel branch.

  • Is CVE-2023-54114 actively exploited?

    No — CVE-2023-54114 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.