Maintenance portlet: system config overrides displayed without obfuscation
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 88/100
Research direction
Start at JVMInfoResource.getDBOverrides() and compare how its configOverrides values are handled with the existing obfuscateIfNeeded() use for system properties and environment variables. Confirm the change preserves the existing key-matching and configurable pattern rules, and that sensitive config overrides are no longer returned in plaintext.
Written by the indexing model from the issue text.
Description
Problem
The JVM Info screen in the maintenance portlet (GET /api/v1/jvm) obfuscates sensitive values in the System Properties and Environment Variables sections via JVMInfoResource.obfuscateIfNeeded() (masks values whose key matches passw|pass|passwd|secret|key|token, plus the configurable OBFUSCATE_SYSTEM_ENVIRONMENTAL_VARIABLES pattern).
The configOverrides section does not: getDBOverrides() copies SystemTable.all() straight into the response, so any secret stored as a system-table config override (API keys, tokens, passwords set via the UI/API) is rendered in plaintext to anyone with maintenance-portlet access.
Fix
Apply the same obfuscateIfNeeded(key, value) rules to the config-overrides map — one line in JVMInfoResource.getDBOverrides().
Security note
Read access already requires a backend user with the maintenance portlet, so exposure is limited to authenticated admins — but the whole point of the existing obfuscation is that even admins shouldn't see raw secrets on a screen that gets screenshotted into support tickets.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 164
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dotCMS/core
-
dotCMS : Build Team : Falcon Type : Task
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
OKR : Customer Support Team : Maintenance
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
Team : Modernization
Difficulty 1/5 Under an hour Newbie friendliness 78/100
-
dotCMS : Workflow Team : Cloud Eng
Difficulty 2/5 1-3 hours Newbie friendliness 87/100
-
Team : Maintenance
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100