memguard-rs
A Rust library that provides secure memory handling primitives including zeroization on drop, memory locking, constant-time comparison, and compile-time guarded regions, with zero dependencies and no_std support.
它展示了Fastjson 1.2.83中一个即使在禁用AutoType并通过固定DTO时仍能生效的关键漏洞(F105),并提供了可复现的实验环境和防御性扫描工具。
@JSONType remote-JAR/FD-chain lab and detectionThis repository now preserves two distinct Fastjson research tracks:
modern-fd/ is the recommended, marker-only reconstruction of
the Fastjson 1.2.83 single-body remote-JAR/file-descriptor chain on Spring
Boot 3, normal embedded Tomcat and JDK 17. It uses the literal fixed-DTO sink
JSON.parseObject(body, BoundEnvelope.class) with AutoType disabled.scanner/ contains passive request/log detection, static artifact
inventory and a non-executing reachability probe.The bug:
ParserConfig.checkAutoTypeprobes every@typevalue for the@JSONTypeannotation by doinggetResourceAsStream(typeName.replace('.','/') + ".class"). On modern Linux/JDK combinations, a remotejar:httpprobe can leave the JAR cached behind an open descriptor; laterjar:file:/proc/self/fd/Nprobes in the same body can reopen it under valid class names and initialize an annotated class. The exact 1.2.83 composition works with AutoType disabled and through a fixed DTO containingList. Binding alone is therefore not a mitigation. Full walk-through:docs/MECHANISM.md.
The companion whole-project review covered 2,041 callable/static-initializer rows across all 193 Fastjson 1.2.83 production Java files. The table below prioritizes the highest-impact results; it is not a claim that every Fastjson deployment is affected. This repository directly reproduces F105. The remaining entries summarize separately sealed source review and bounded lab evidence.
| Priority | Finding | Proven result | Important boundary |
|---|---|---|---|
| 1 | F105 — remote @JSONType bytecode execution | Attacker-supplied class initialization through compatible Spring Boot loaders, including the JDK 8 direct route and the Linux/JDK 17 retained-JAR /proc/self/fd/N continuation | Requires a parser-reachable @type carrier, compatible Boot/TCCL loader, egress, SafeMode/IgnoreAutoType off, and an exact attacker JAR. The modern fixed-DTO route additionally needs a generic value lane (the lab uses List), Linux pro |
Docker lab + one-payload exploit + defensive scanner for the fastjson 1.2.66-1.2.83 @JSONType remote-class-load RCE (SSRF->defineClass under Spring Boot LaunchedURLClassLoader; autoType OFF; parseObject binding is not a mitigation)
根据分类、Topic 和编程语言匹配的相似项目。
A Rust library that provides secure memory handling primitives including zeroization on drop, memory locking, constant-time comparison, and compile-time guarded regions, with zero dependencies and no_std support.
Harness Engineering is a methodology for improving coding agent outputs by carefully crafting the environment around them—providing curated context, tools, and executable constraints that encode an organization’s nonfunctional requirements and cumulative lessons.
A 28.9 million parameter language model runs on an $8 ESP32-S3 microcontroller entirely on-device, generating simple stories at about 9.5 tokens per second.