For reporting security issues, see SECURITY.md.
Security Vulnerabilities CVE-2025-23215Published: 2025-01-31
Severity: Low
Summary: Release key passphrase (GPG) available on Maven Central in cleartext
Versions Affected:
Description:
While rebuilding PMD Designer for Reproducible Builds and digging into issues, I found out that passphrase for gpg.keyname=0xD0BF1D737C9A1C22
is included in jar published to Maven Central.
Details See https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/net/sourceforge/pmd/pmd-designer/README.md
I removed 2 lines from https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/net/sourceforge/pmd/pmd-designer/pmd-designer-7.0.0.diffoscope but real content is:
âââ net/sourceforge/pmd/util/fxdesigner/designer.properties
â @@ -1,14 +1,12 @@
â #Properties
â checkstyle.plugin.version=3.3.1
â checkstyle.version=10.14.0
â -gpg.keyname=0xD0BF1D737C9A1C22
â -gpg.passphrase=evicx0nuPfvSVhVyeXpw
â jar.plugin.version=3.3.0
â -java.version=11.0.22
â +java.version=11.0.25
â javadoc.plugin.version=3.6.3
â jflex-output=/home/runner/work/pmd-designer/pmd-designer/target/generated-sources/jflex
â junit5.version=5.8.2
â kotest.version=5.5.5
â kotlin.version=1.7.20
â local.lib.repo=/home/runner/work/pmd-designer/pmd-designer/lib/mvn-repo
â openjfx.scope=provided
PoC
./rebuild.sh content/net/sourceforge/pmd/pmd-designer/pmd-designer-7.0.0.buildspec
Impact After further analysis, the passphrase of the following two keys have been compromised:
94A5 2756 9CAF 7A47 AFCA BDE4 86D3 7ECA 8C2E 4C5B
: PMD Designer (Release Signing Key) releases@pmd-code.org This key has been used since 2019 with the release of net.sourceforge.pmd:pmd-ui:6.14.0. The following versions are signed with the same key: 6.16.0, 6.17.0, 6.19.0.EBB2 41A5 45CB 17C8 7FAC B2EB D0BF 1D73 7C9A 1C22
: PMD Release Signing Key releases@pmd-code.org This key has been used since 2020 with the release of net.sourceforge.pmd:pmd-ui:6.21.0 and all the other modules of PMD such as net.sourceforge.pmd:pmd-core:6.21.0.The keys have been used exclusively for signing artifacts that we published to Maven Central under group id net.sourceforge.pmd
and once for our pmd-eclipse-plugin. The private key itself is not known to have been compromised itself, but given its passphrase is, it must also be considered potentially compromised.
As a mitigation, both compromised keys have been revoked so that no future use of the keys are possible. For future releases of PMD, PMD Designer and PMD Eclipse Plugin we use a new release signing key: 2EFA 55D0 785C 31F9 56F2 F87E A0B5 CA1A 4E08 6838
(PMD Release Signing Key releases@pmd-code.org).
Note, that the published artifacts in Maven Central under the group id net.sourceforge.pmd
are not compromised and the signatures are valid. No other past usages of the private key is known to the project and no future use is possible due to the revocation. If anybody finds a past abuse of the private key, please share with us.
Note, the module net.sourceforge.pmd:pmd-ui
has been renamed to net.sourceforge.pmd:pmd-designer
since PMD 7, so there wonât be a fixed version for pmd-ui
.
Fixes
References:
CVE-2019-7722Published: 2019-02-11
Description:
PMD 5.8.1 and earlier processes XML external entities in ruleset files it parses as part of the analysis process, allowing attackers tampering it (either by direct modification or MITM attacks when using remote rulesets) to perform information disclosure, denial of service, or request forgery attacks. (PMD 6.x is unaffected because of a 2017-09-15 change.)
References:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4