-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FISH-10521 Escape HTTP Characters in REST Interface #7216
base: main
Are you sure you want to change the base?
FISH-10521 Escape HTTP Characters in REST Interface #7216
Conversation
Fix for CVE-2025-1534. Uses the existing method to hopefully escape only the config values being displayed, and not any of the valid HTTP tags. Signed-off-by: Andrew Pielage <[email protected]>
3818bb6
to
6e752a9
Compare
@Pandrex247 same is happening with Payara 6, I tried to test and it seems something is missing because after editing the admin-keyfile and including an script I'm still seeing the message when loading the server: Content of file: on the other cases it seems that is working as expected, just the case with the file admin-keyfile I tested on windows 11, zulu jdk 11 and maven 3.9.5 |
I just tried again, it worked for me. Your URL doesn't look correct either? http://localhost:4848/common/index.jsf is the admin console, not the REST management interface If you've found another vulnerability in the admin console that would be a separate issue/CVE |
What script are you referring to? There's no reference to editing a script in the reproducer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Adds additional sanitisation to the user name displayed in the masthead banner, and on the Domain > Administrator Password page Signed-off-by: Andrew Pielage <[email protected]>
Signed-off-by: Andrew Pielage <[email protected]>
@Pandrex247 with latest's changes now I can't see the dialog after injecting javascript code from the key files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Description
Escapes HTTP characters in the REST interface, to help lock down any XSS attempts someone may try if they have access to the application server's filesystem.
Most config which would be displayed here is protected by validation of the domain.xml, as that prevents you from having the "<" or ">" characters as values. The key files however don't have this validation, and so we must escape them.
Important Info
Blockers
None
Testing
New tests
None
Testing Performed
On a clean domain:
admin-keyfile
file under domain config:user3<img src=x onerror=alert('XSS')>;{SSHA256}qXV9vLHbkJRoMaJkGsNUrz5jSHDzMTR0CyFmZjUt8HJQVlIi2X8XaA==;asadmin
keyfile
file under domain config:wibbles<img src=x onerror=alert('XSS')>;{SSHA256}6v8s3F0zGwF9bi9s1tygCvTz+az/Im55nS6Z3Z1sCIS9ng9aLAykCQ==;
ASADMIN_LISTENER_PORT
property to24848<img src=x onerror=alert(1)>
- Instances > Elated-Whalefish > PropertiesTesting Environment
Windows 11, Maven 3.9.9, Zulu JDK 11.0.26
Documentation
payara/Payara-Documentation#552
Notes for Reviewers
None