Apache WSS4J: WS-SecurityPolicy signature checks skipped in the streaming code after an STR-Transform reference
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the WSS4J streaming (StAX) code, a signature reference using the WS-Security STR-Transform leaves an internal "inside signed content" flag permanently set. The WS-SecurityPolicy enforcer uses that flag to decide whether an element needs checking, so it stops evaluating SignedParts and SignedElements for the rest of the message. A policy requiring the SOAP Body to be signed is then satisfied even when the Body carries no signature, removing the protection against XML Signature Wrapping. Signature verification itself is unaffected. The DOM code is not affected. Users are recommended to upgrade to versions 4.0.2 or 3.0.6 or 2.4.4 which fix this issue.
Text from CVE List
Affected versions 3
- Apache WSS4Jaffected: 4.0.0 before 4.0.2CVE List
- Apache WSS4Jaffected: 3.0.0 before 3.0.6CVE List
- Apache WSS4Jaffected: all versions before 2.4.4CVE List