文章总结: 该文档揭示了Java生态中存在的’幽灵比特位’安全漏洞,即字符高8位被截断导致WAF可被全面绕过,影响Spring、Tomcat等主流组件并可能触发SQL注入、反序列化RCE等多种高危攻击。研究提出了升级受影响组件、优化WAF规则语义检测、代码层使用明确编码方式等修复方案。 综合评分: 85 文章分类: 漏洞分析,WEB安全,应用安全,解决方案,安全工具
Java “幽灵比特位”(Ghost Bits)引发的waf通杀
迪哥讲事
2026年4月29日 10:09 四川
在小说阅读器读本章
去阅读
正文
Java 是目前企业级应用中最广泛使用的编程语言之一,其生态内的 Spring、Tomcat、Jackson、fastjson 等框架和组件被全球数以亿计的系统所依赖。2026 年 4 月,在 Black Hat Asia 2026 大会上,安全研究员 Zhihui Chen(1ue)与安全研究员 Xinyu Bai(浅蓝)发表了题为《Cast Attack: A New Threat Posed by Ghost Bits in Java》的研究成果。
该研究揭示了 Java 生态中一个系统性、长期被忽视的底层编码缺陷——”Ghost Bits(幽灵比特位)”,并证明攻击者可利用该缺陷对 WAF/IDS 等安全设备实现全面绕过,进而触发 SQL 注入、反序列化 RCE、文件上传、SMTP 注入、请求走私等多种高危攻击链。漏洞影响范围覆盖 Java 主流框架与中间件,利用门槛低,建议相关用户高度重视并尽快完成自查修复。
Ghost Bits/幽灵比特 成因:
Java 里的 char 是 16 位,但某些代码把它强行转成 8 位 byte 。
结果造成:高 8 位被悄悄丢掉,只剩低 8 位。 攻击者可以利用这个特性,让安全检查看到“奇怪中文/Unicode”,但底层真正执行时变成危险字符
比如:
陪 = U+966A
低 8 位 = 0x6A
0x6A = ASCII 字符 'j'
所以:
1.陪sp
在某些 Java 处理链里可能会变成:
1.jsp
WAF / 文件类型检查看到的是:
1.陪sp
服务器保存时却可能变成:
1.jsp
受影响组件
以下组件已被确认受 Ghost Bits 影响:
| 组件 | 漏洞类型 | | — | — | | Apache Commons BCEL | WAF 绕过 / 反序列化 RCE | | Jackson Databind | WAF 绕过 / SQL 注入 | | Fastjson | WAF 绕过 / 反序列化 RCE | | Apache Tomcat | 文件上传绕过(Webshell) | | Spring Framework | URL 解码绕过 / 路径穿越 | | Jetty | URL 解码绕过 / CRLF 注入 | | Undertow | URL 解码绕过 | | Vert.x | URL 解码绕过 | | Angus Mail | SMTP 注入 | | Apache HttpClient ≤ 4.5.9 | HTTP 请求走私(HTTPCLIENT-1974/1978) | | ActiveJ | HTTP CRLF 注入 | | Lettuce(Redis 客户端) | Redis 命令注入 | | Jodd | 路径穿越 | | XMLWriter | XML 标签注入 |
造成的影响
WAF/IDS 全面绕过: 攻击者通过 Ghost Bits 变形 Payload 可绕过绝大多数现有基于规则的 WAF 检测,使已有安全防护形同虚设。
触发多类高危漏洞:
- SQL 注入:Jackson charToHex(ch & 255)截断,SQL 注入 Payload 隐写于 Unicode 字符中,WAF 无告警,后端还原并执行。
- 反序列化 RCE:BCEL ClassLoader 解码、fastjson \u/ \x 转义均存在 Ghost Bits,可绕过 WAF 触发反序列化远程代码执行。
- 文件上传绕过:Tomcat RFC2231Utility 处理文件名时截断高位,可将 .jsp 伪装为非敏感 Unicode 字符,绕过 WAF 上传 Webshell。
- 路径穿越 / 认证绕过:Spring、Jetty、Undertow、Vert.x 等框架 URL 解码路径存在 Ghost Bits,可绕过 WAF 实现目录穿越;Openfire CVE-2023-32315 可借此绕过 WAF 防护直接利用。
- 已知高危 CVE WAF 绕过:GeoServer CVE-2024-36401(CVSS 9.8)、Spring4Shell(CVE-2022-22965)等漏洞的现有 WAF 防护均可被 Ghost Bits 变体 Payload 绕过,直接触发 RCE。
- SMTP 注入:Angus Mail 等邮件库存在 Ghost Bits,可将隐写 CRLF 序列还原为换行符,触发 SMTP 注入,实现邮件劫持或业务逻辑绕过(已在 Jira、Confluence 上复现)。
- HTTP 请求走私 / XSS:Apache HttpClient(≤ 4.5.9)、JDK 原生 HttpServer 等组件同样受 Ghost Bits CRLF 影响。
解决修复方案
请关注上述各受影响组件的官方 Security Advisory,升级至已修复版本。
重点关注:
- Apache Commons BCEL:升级至 6.12.0 及以上版本 Fastjson:升级至 2.x 系列最新版本
- Apache HttpClient:升级至 4.5.10 及以上版本,或迁移至 HttpClient 5.x
- GeoServer:升级至 2.28.3 及以上版本
- Openfire:升级至 5.0.4 及以上版本
临时缓解方案:
- WAF 规则:现有基于字符串特征的 WAF 规则对 Ghost Bits 变形 Payload 防护效果有限,建议在解码层面进行语义检测,或引入 Unicode 规范化预处理后再执行规则匹配。
- 代码层面:排查自研代码中 (byte)ch、ch & 0xFF、baos.write(ch)、DataOutputStream#writeBytes() 等写法,改为使用 String.getBytes(StandardCharsets.UTF_8) 等明确指定编码的方式。
- 输入验证:在输入校验阶段对关键字段(文件名、邮件地址、URL 参数、JSON 键名等)严格过滤非 ASCII 字符或进行 Unicode 归一化(NFC/NFKC)处理。
- 网络层面:对暴露在公网的 Java 应用服务,在完成代码修复前限制访问来源,降低攻击面。
- 如果你是一个长期主义者,欢迎加入我的知识星球,本星球日日更新,包含号主大量一线实战,全网独一无二,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
往期回顾
#
如何利用ai辅助挖漏洞
#
如何在移动端抓包-下
#
如何绕过签名校验
#
一款bp神器
挖掘有回显ssrf的隐藏payload
ssrf绕过新思路
一个辅助测试ssrf的工具
dom-xss精选文章
年度精选文章
Nuclei权威指南-如何躺赚
漏洞赏金猎人系列-如何测试设置功能IV
漏洞赏金猎人系列-如何测试注册功能以及相关Tips
参考
1.Black Hat Asia 2026 议题:Cast Attack: A New Threat Posed by Ghost Bits in Java 作者:Xinyu Bai(@b1u3r / @iSafeBlue)、Zhihui Chen(@1ue1166323)、贡献者 Zongzheng Zheng(@chun_springX)
2.https://github.com/geoserver/geoserver/security/advisories/GHSA-6jj6-gm7p-fcvv
3.https://github.com/advisories/GHSA-gw42-f939-fhvm
4.https://spring.io/security/cve-2022-22965
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:迪哥讲事 《Java “幽灵比特位”(Ghost Bits)引发的waf通杀》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论