Summary
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 .
This key has also been used for PMD 7, for the designer, e.g.
and .
The versions between 6.21.0 and 7.9.0 are signed with this key.
Additionally the key has been used to sign the last release of .