fabric-sdk-java 反序列化:新 sink 与利用链构造
fabric-sdk-java 反序列化:新 sink 与利用链构造
一句话:Hyperledger Fabric 的 Java SDK 在 deSerializeChannel 中对字节数组直接
ObjectInputStream.readObject(),作者逐步构造出可用的反序列化利用链——区块链客户端
SDK 作为 Java 反序列化新攻击面。
要点:
- sink:
deSerializeChannel(byte[] channelBytes)直接 readObject 转 Channel,凡能让
攻击者控制该字节的集成点(配置/网络同步/缓存反序列化)都是入口 - 价值在于 sink 面:fabric-sdk-java 此前未被系统性地当作 Java 反序列化目标,gadget
需在 SDK 自带依赖里现挖,作者给出逐步构造与复现过程 - 对做企业区块链(Fabric)渗透的场景是个新 checklist 项
原语抽象:垂直业务 SDK 的序列化边界成为反序列化 sink——供应链上下游对
"SDK 传来的字节"默认信任,恰是反序列化漏洞的生存空间。
亲戚手法:Java 反序列化 gadget 家族;差异:sink 从公共组件(CC/CB/Hessian)
转向垂直 SDK,gadget 要在 SDK 自带依赖里现挖——防御方和攻击方都还没把这类
面纳入基线。
防御启示:SDK 的 API 审计 checklist 要加一条"接受字节数组的反序列化入口";
集成方对 SDK 数据不做来源信任假设。
原文: https://xz.aliyun.com/news/92697
来源发布时间: 2026-08-15