Skip to content

filter local policy assertions from ListingAgent ?policy responses - #1321

Merged
robertlazarski merged 1 commit into
apache:masterfrom
kali834x:policy-listing-local-assertions
Oct 29, 2026
Merged

robertlazarski merged 1 commit into
apache:masterfrom
kali834x:policy-listing-local-assertions

Conversation

@kali834x

Copy link
Copy Markdown
Contributor

the ?policy route in ListingAgent.handlePolicyRequest now writes the policy through the ExternalPolicySerializer it already builds with AxisConfiguration.getLocalPolicyAssertions() as its filter. the serializer was configured and never used: both the effective-policy branch (GET /services/?policy) and the by-id branch (?policy&id=) called Policy.serialize(XMLStreamWriter) directly, so assertions a module lists under local-policy-assertions in its module.xml (ModuleBuilder: "These assertions are not exposed to the outside") were published anyway. Rampart lists RampartConfig there, and RampartConfig carries the service user, the password callback class and the signature/encryption crypto properties, keystore alias and keystore password included. the route is anonymous for any service whose metadata is exposed, and AxisService2WSDL11, AxisService2WSDL20 and WSDLSerializationUtil already embed policies through this filter, so ?wsdl withheld RampartConfig while ?policy returned it verbatim (CWE-200 / CWE-497). the response is now the normalized form the WSDL embedding uses: the same assertions, minus the local ones. PolicyListingFilterTest attaches a policy carrying a RampartConfig with a keystore password and fails before the change on both branches (the password is in the response) and passes after; the transport-http module build is green (113 tests, rat included).

@robertlazarski
robertlazarski merged commit 71952b6 into apache:master Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants