Bug 2565679 (CVE-2026-121997) - CVE-2026-121997 gdb: gdbserver: heap buffer overflow in cmd_qtdpsrc via QTDPsrc declared/actual length mismatch
Summary: CVE-2026-121997 gdb: gdbserver: heap buffer overflow in cmd_qtdpsrc via QTDPs...
Keywords:
Status: NEW
Alias: CVE-2026-121997
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-11-03 10:03 UTC by OSIDB Bzimport
Modified: 2026-11-05 14:37 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-11-03 10:03:20 UTC
Heap buffer overflow in cmd_qtdpsrc (gdbserver/tracepoint.cc). The function allocates xmalloc(slen+1) sized by the packet's declared slen field, but calls hex2bin(packet, src, strlen(packet)/2) using the actual hex data length independently. When actual data exceeds declared slen, hex2bin overflows the heap buffer by the difference with attacker-controlled content. Demonstrated exploitation: overflow corrupts process_info_private::thread_db, replacing the td_ta_map_lwp2thr_p function pointer with an attacker-chosen address. A subsequent qGetTLSAddr packet causes gdbserver to call through the forged pointer, achieving RIP control and native code execution.


Note You need to log in before you can comment on or make changes to this bug.