cbcvebase.
CVE-2026-32746
published 2026-03-13

CVE-2026-32746: telnetd in GNU inetutils through 2.7 allows an out-of-bounds write in the LINEMODE SLC (Set Local Characters) suboption handler because add_slc does not check…

PriorityP277critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EXPLOIT
EPSS
44.10%
98.7th percentile
telnetd in GNU inetutils through 2.7 allows an out-of-bounds write in the LINEMODE SLC (Set Local Characters) suboption handler because add_slc does not check whether the buffer is full.

Affected

7 ranges
VendorProductVersion rangeFixed in
debianinetutils< inetutils 2:2.4-2+deb12u3 (bookworm)inetutils 2:2.4-2+deb12u3 (bookworm)
gnuinetutils<= 2.7—
gnuinetutils>= 0 < 2:2.4-2+deb12u32:2.4-2+deb12u3
gnuinetutils>= 0 < 2:2.6-3+deb13u32:2.6-3+deb13u3
gnuinetutils>= 0 < 2:2.7-42:2.7-4
ubuntuinetutils——
vllmvllm>= 0.15.1 < 0.17.00.17.0

Detection & IOCsextracted from sources · hover to see the quote

snort↗
alert telnet any any -> $HOME_NET any (msg:"ET EXPLOIT Telnet SLC Option Data Buffer Overflow Attempt (CVE-2026-32746)"; flow:established,to_server; content:"|ff fa 22|"; fast_pattern; content:"|ff f0|"; distance:109; reference:url,labs.watchtowr.com/a-32-year-old-bug-walks-into-a-telnet-server-gnu-inetutils-telnetd-cve-2026-32746/; reference:cve,2026-32746; classtype:web-application-attack; sid:2068415; rev:1; metadata:affected_product telnetd, attack_target Server, tls_state plaintext, created_at 2026_03_25, cve CVE_2026_32746, deployment Perimeter, deployment Internal, performance_impact Low, confidence Medium, signature_severity Major, tag Exploit, updated_at 2026_03_25, mitre_tactic_id TA0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public_Facing_Application; target:dest_ip;)
bytes↗
|ff fa 22| ... |ff f0| (IAC SB LINEMODE ... IAC SE, distance:109)
  • →The overflow occurs when more than ~34 SLC triplets are sent in a single LINEMODE SLC suboption. Each triplet is 3 bytes; the usable buffer is 104 bytes (108-byte slcbuf minus 4-byte header). Alert on LINEMODE SLC suboptions whose body exceeds 104 bytes (i.e., IAC SE appears more than 109 bytes after IAC SB LINEMODE). ↗
  • →SLC function codes greater than NSLC (18 / 0x12) in a LINEMODE suboption are the specific trigger for the vulnerable add_slc() code path. Inspect SLC triplet function bytes; values above 0x12 in a LINEMODE SB are anomalous and attack-indicative. ↗
  • →The Snort/Suricata ET rule (sid:2068415) detects the exploit by matching IAC SB LINEMODE (|ff fa 22|) followed by IAC SE (|ff f0|) at a distance of 109 bytes, which places the SE beyond the safe buffer boundary. ↗
  • →A public PoC and Docker lab environment exist (github.com/jeffaf/cve-2026-32746), and Wiz confirms a public exploit exists. Treat any telnetd ≤ 2.7 exposure as actively exploitable. ↗
  • ·Debian 11 (bullseye) has no fix available as of the advisory date; only Debian 12/13/14 and sid have patches. Systems on bullseye remain vulnerable and cannot be patched via standard package update. ↗
  • ·The ET Snort rule uses distance:109 (not within:), meaning it will match IAC SE anywhere beyond 109 bytes after IAC SB LINEMODE. Tune for your environment to reduce false positives on legitimate but large LINEMODE negotiations. ↗

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
osv9.8CRITICAL
vendor_debian9.8CRITICAL
vendor_ubuntu7.8HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.