hn.today

A 32-Year-Old Bug Walks into a Telnet Server

labs.watchtowr.com68 points28 comments
Screenshot of A 32-Year-Old Bug Walks into a Telnet Server

Researchers disclosed CVE-2026-32746, a decades-old pre-authentication buffer overflow in GNU inetutils telnetd that lives in the LINEMODE SLC (Set Linemode Characters) negotiation handler. The bug, traceable to 1994, lets an attacker overflow a fixed-size global array and corrupt roughly 400 bytes of adjacent memory. Because many vendors forked or copied the same Telnet codebase, the vulnerability appears in inetutils-telnetd and in numerous distributions and products (Ubuntu, Debian, FreeBSD/NetBSD/DragonFly, Citrix NetScaler, Apple Mac Tahoe, TrueNAS Core, Haiku, uCLinux, libmtev, etc.), so the blast radius is large even though a patch has been landed in upstream inetutils.

Technically, the flaw arises when the server accepts in-band Telnet negotiations: LINEMODE SLC values are sent as one-byte triplets (function, flag, value) that get stored without bounds checking. Process_slc and change_slc impose several transformations and restrictions - triplets with func > NSLC are sanitized, func==0 triggers special handling, and flag bits are masked/translated - so full control over overflow contents is constrained. That constraint makes exploitation nuanced: attackers can corrupt memory but crafting a reliable RCE is complicated by input munging and limited controllable bytes. The researchers isolated the bug, compared it to the analogous 2005 client-side CVE-2005-0469, and detail why the vulnerability is both dangerous and tricky to weaponize.

Read on labs.watchtowr.com28 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Security

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.