1994年生まれのTelnet脆弱性、32年越しに発見される
A 32-Year-Old Bug Walks into a Telnet Server

DREAM Security Research Teamが発見したCVE-2026-32746は、GNU inetutils TelnetdのLINEMODE SLCネゴシエーションハンドラに存在するバッファオーバーフローだ。認証前に約400バイトの隣接変数を破壊でき、Ubuntu、Debian、FreeBSD、NetBSD、macOS、Citrix NetScalerなど多数の実装に影響が及ぶ。1994年生まれのこのバグは、2005年にクライアント側で見つかったCVE-2005-0469と本質的に同一であり、歴史は繰り返すと感じさせる。
サーバーはこれらの値をすべて、境界チェックを一切行わずに固定サイズのグローバル配列に格納する。待って、何だって?! そう、これが脆弱性だ。1994年から見過ごされてきたんだよ、みんな。
HNでの議論
34- collinfunk
この問題の修正を書いた者として(元のコードを書いたわけではないが)、著者がこの段落でものすごく権利意識が強いように読める点だけ指摘しておく:
恥ずかしいことに、inetutilsプロジェクトは実際には修正版のソフトウェアをリリースしていない(少なくとも公開時点では)。
バグは公開メーリングリストで報告された。これは昨今では残念ながらよくあることだ[1]。自分の勤務時間中にはその報告を確認できなかったので、仕事が終わってから、当時あまりにも多くの雑な報告を見かけていたこともあり、バグが本物であることを確認するスクリプトを書いた。そして寝る前にパッチを送った[2]。その後、第三者が親切にもそのパッチをoss-securityで共有してくれた[3]。これはすべてのディストリビューションが追っている。新しいリリースをする必要はなく、それはディストリビューションにとって小さなパッチを当てるより大変なだけだ。
おそらく私は人とのやり取りで運が悪いだけなのだろうが、ソフトウェアセキュリティ関係者の間ではこの手の権利意識がよく見られる気がする。なお、Inetutilsに時間を費やしても自分には何の見返りもないし、他に取り組んでいるプロジェクトのほうがずっと面白いと思っている。
[1] https://lists.gnu.org/archive/html/bug-inetutils/2026-03/msg...
[2] https://lists.gnu.org/archive/html/bug-inetutils/2026-03/msg...
[3] https://www.openwall.com/lists/oss-security/2026/03/12/4
- b800h
> 「1994年」
> 「RISCは遠い夢だった」
おっと
- krautsauer
(3月19日)が必要だ
(HNが年についてしかこれをやらないのは知っているが、これが脆弱性に関する話となれば…)
- notimetorelax
技術的な細部を大げさに誇張する記事は本当に嫌いだ。TLDR; 境界チェックが欠けていて、メモリ破壊につながる可能性があった。
- sjpb
xkcdの画像をパクるなら、せめてオリジナルをクレジットするかリンクを貼るのが礼儀だと思う。