Skip to content

[RUN-4678] Upgrade jgit/jgit-ssh-apache to 7.2.0 to drop transitive eddsa (CVE-2020-36843)#73

Merged
fdevans merged 2 commits into
mainfrom
RUN-4678-fix-jgit-ssh-apache-eddsa-cve-2020-36843
Jul 23, 2026
Merged

[RUN-4678] Upgrade jgit/jgit-ssh-apache to 7.2.0 to drop transitive eddsa (CVE-2020-36843)#73
fdevans merged 2 commits into
mainfrom
RUN-4678-fix-jgit-ssh-apache-eddsa-cve-2020-36843

Conversation

@fdevans

@fdevans fdevans commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Resolves RUN-4678 / CVE-2020-36843 (SNYK-JAVA-NETI2PCRYPTO-9402849) for this repo's Snyk finding, where net.i2p.crypto:eddsa:0.3.0 is introduced through:

git-plugin@2.0.2-SNAPSHOT › org.eclipse.jgit:org.eclipse.jgit.ssh.apache@6.10.1.202505221210-r › net.i2p.crypto:eddsa@0.3.0

Unlike the other two related fixes (rundeck/rundeck#10394, rundeck-plugins/sshj-plugin#138), eddsa here is a genuine transitive dependency, not unused cruft — org.eclipse.jgit.ssh.apache depends on Apache MINA SSHD, which in 2.14.0 still required net.i2p.crypto:eddsa.

Fix

Applied Snyk's suggested remediation: upgraded org.eclipse.jgit and org.eclipse.jgit.ssh.apache from 6.10.1.202505221210-r to 7.2.0.202503040940-r. This bumps the transitive sshd-osgi/sshd-sftp dependency from 2.14.0 to 2.15.0, which no longer depends on net.i2p.crypto:eddsa at all.

Test plan

  • ./gradlew dependencies --configuration pluginLibs — confirmed net.i2p.crypto:eddsa no longer appears anywhere in the resolved graph after the bump
  • ./gradlew clean build — passes, no source-level API breakage between jgit 6.10.1 and 7.2.0
  • Full test suite: 65 tests, 0 failures, 0 errors, 0 skipped

…ddsa (CVE-2020-36843)

Snyk (SNYK-JAVA-NETI2PCRYPTO-9402849) flags net.i2p.crypto:eddsa:0.3.0,
pulled in transitively here via org.eclipse.jgit.ssh.apache:6.10.1's
Apache MINA SSHD dependency. Unlike the sshj-based plugins, this is a
real transitive dependency, not unused cruft.

Upgrading org.eclipse.jgit and org.eclipse.jgit.ssh.apache to 7.2.0
(Snyk's suggested fix version) bumps the transitive sshd-osgi/sshd-sftp
dependency from 2.14.0 to 2.15.0, which no longer depends on
net.i2p.crypto:eddsa at all - confirmed via the resolved dependency
tree. Full clean build and test suite pass unchanged (65 tests, no
failures) with no source-level API breakage between jgit 6.10.1 and 7.2.0.
@fdevans
fdevans requested review from a team and Copilot July 22, 2026 20:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the plugin’s JGit dependencies to remove the vulnerable transitive net.i2p.crypto:eddsa dependency (CVE-2020-36843) by upgrading to a newer JGit/JGit SSH Apache release in the Gradle version catalog.

Changes:

  • Bumped org.eclipse.jgit from 6.10.1.202505221210-r to 7.2.0.202503040940-r
  • Bumped org.eclipse.jgit.ssh.apache from 6.10.1.202505221210-r to 7.2.0.202503040940-r

Comment thread gradle/libs.versions.toml
Comment on lines +9 to +10
jgit = "7.2.0.202503040940-r"
jgitSshApache = "7.2.0.202503040940-r"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the outdated comment from build.gradle in 7d2fcf1.

@fdevans
fdevans merged commit c1dcb7b into main Jul 23, 2026
2 checks passed
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.

4 participants