【风险提示】天融信关于JavaGhostBits漏洞的风险提示

admin 2026-05-01 05:32:17 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 天融信阿尔法实验室披露Java生态中GhostBits漏洞,该问题源于字符与字节视图不一致导致安全校验绕过,可引发路径穿越、文件上传绕过等风险。影响Tomcat、Spring等主流组件,建议通过输入校验、避免隐式类型转换、升级组件等措施修复。 综合评分: 85 文章分类: 漏洞分析,应急响应,漏洞预警,应用安全,WEB安全


cover_image

【风险提示】天融信关于Java Ghost Bits 漏洞的风险提示

天融信应急响应 天融信应急响应

天融信阿尔法实验室

2026年4月30日 18:12 北京

在小说阅读器读本章

去阅读

0x00 背景介绍


近日,天融信阿尔法实验室监测到安全研究员披露了Java生态中的一种新型安全问题,通常被称为Ghost Bits(幽灵比特),其根源在于“字符视图”与“字节视图”不一致,可能引发部分安全防护产品绕过、路径穿越、文件上传绕过、CRLF 注入、反序列化绕过等风险。该问题不是单一 CVE,而是一类底层编码与解析逻辑缺陷,影响面较广,建议受影响用户尽快排查并修复。

0x01 漏洞描述


Java 是目前应用最广泛的编程语言之一,从 Web 服务器、企业应用到嵌入式系统都有其身影。Java 的类型系统中,char类型为 16 位 Unicode 代码单元,而byte类型仅为 8 位。当代码中发生char -> byte的强制类型转换、位运算掩码、OutputStream.write(int)、DataOutputStream.writeBytes(String) 等时,高 8 位会被静默丢弃,只保留低 8 位,被丢弃的高位数据即被称为 “Ghost Bits”。

Ghost Bits 风险的核心在于,上层安全检查看到的字符串语义,与底层最终执行的字节语义可能不一致。上层按字符语义做校验时看到的是安全字符串,而底层按字节语义执行时,低 8 位可能折叠成危险的 ASCII 字节,从而触发真实漏洞。经过身份认证的攻击者可通过精心构造的 Unicode 字符输入,绕过业务校验、路径检查等安全机制,实现文件上传绕过、路径穿越、任意文件读取、认证绕过、SMTP 注入、HTTP 请求走私、Header 注入等多种攻击。该风险已在 Tomcat、Spring Framework、Jetty、Fastjson、Jackson、Openfire、Jira、Confluence 等多个主流 Java 组件中被证实存在实际可利用的漏洞。

0x02 漏洞编号

#


暂无

0x03 漏洞等级


高危

0x04 受影响版本

#


所有存在以下高危代码写法的 Java 应用和组件:

1、(byte) ch – char 到 byte 的强制类型转换

2、ch & 0xff / ch & 255 / 0xff & ch – 位运算截断

3、baos.write(ch) – 直接将 char 写入字节流

4、DataOutputStream.writeBytes(String s) – 按字节写入字符串

5、OutputStream.write(int) – 直接写入 int 值的低 8 位

6、StringBufferInputStream.read() – 字符流到字节流转换

7、String.getBytes(int, int, byte[], int) – 过时的字节获取方法

8、RandomAccessFile.writeBytes() – 按字节写入

9、URLDecoder.decode() – URL 解码相关处理

已知受影响的 Java 组件:

Apache Tomcat、Spring Framework、Eclipse Jetty、Fastjson、Jackson、Openfire、Apache HttpClient、Angus Mail / Jakarta Mail、Jira、Confluence、GeoServer

0x05 修复建议


1、临时缓解措施

如果暂时无法完成代码修复和组件升级,可采取以下缓解措施:

(1)对用户输入进行严格的字符范围校验,拒绝包含高Unicode字符的关键输入字段(文件名、路径、邮箱地址、HTTP Header 等)。

(2)若非必要,避免在互联网上暴露存在风险的 Java 应用服务。

2、代码修复

(1)禁止隐式 char -> byte 截断:避免使用(byte) ch等强制类型转换写法,改用显式的字符编码转换,如StandardCharsets.UTF_8.encode()。

(2)统一校验与执行语义:先把输入还原成最终会被执行的字节语义,再进行安全校验,确保检查和执行在同一语义空间。

(3)输入规范化:在输入校验阶段前对输入进行统一的编码规范化处理。

(4)升级受影响组件:将受已知漏洞影响的 Java 组件按照官方安全公告升级至安全版本。

0x06 声明


天融信阿尔法实验室拥有对此公告的修改和解释权,如欲转载,必须保证此公告的完整性。由于传播、利用此公告而造成的任何后果,均由使用者本人负责,天融信阿尔法实验室不为此承担任何责任。

天融信阿尔法实验室成立于2011年,一直以来,阿尔法实验室秉承“攻防一体”的理念,汇聚众多专业技术研究人员,从事攻防技术研究,在安全领域前瞻性技术研究方向上不断前行。作为天融信的安全产品和服务支撑团队,阿尔法实验室精湛的专业技术水平、丰富的排异经验,为天融信产品的研发和升级、承担国家重大安全项目和客户服务提供强有力的技术支撑。

天融信

阿尔法实验室

长按二维码关注我们


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:天融信阿尔法实验室 天融信应急响应 天融信应急响应《【风险提示】天融信关于Java Ghost Bits 漏洞的风险提示》

评论:0   参与:  0