Skip to content

Commit 4942caf

Browse files
Clarify deserialization scan guidance: externalization is vestigial
The SafeObjectInputStream and readExternal() methods on core context classes are vestigial from the removed clustering feature. No remaining untrusted input path exists. Guide the scanner to verify this claim rather than audit the whitelist itself. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 1b41f72 commit 4942caf

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

AGENTS.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,21 @@ The clustering module was removed due to unvalidated `ObjectInputStream`
6767
deserialization on network input. Scan for any remaining paths where
6868
`ObjectInputStream.readObject()` processes data reachable from untrusted
6969
input, ensuring all network transports (HTTP, JMS, TCP, etc.) are
70-
considered as sources. The known remaining use is `SafeObjectInputStream`
71-
(whitelist-based)
72-
in context externalization — verify the whitelist is complete and not
73-
bypassable.
70+
considered as sources.
71+
72+
The remaining use of Java serialization is `SafeObjectInputStream`
73+
(whitelist-based) in the context externalization code — `readExternal()`
74+
methods on `MessageContext`, `OperationContext`, `ServiceContext`,
75+
`SessionContext`, `Options`, `EndpointReference`, and related classes.
76+
This externalization code is vestigial from the removed clustering
77+
feature and has no remaining untrusted input path in current
78+
deployments. Verify that no new code path feeds untrusted data into
79+
these `readExternal()` methods.
7480

7581
Key files:
7682
- `modules/kernel/src/org/apache/axis2/context/externalize/SafeObjectInputStream.java`
83+
- `modules/kernel/src/org/apache/axis2/context/MessageContext.java` (readExternal)
84+
- `modules/kernel/src/org/apache/axis2/util/ObjectStateUtils.java`
7785

7886
### 4. HTTP Transport Entry Points
7987

0 commit comments

Comments
 (0)