CVE-2020-36843
Ed25519 Signature Malleability in ed25519-java Due to Missing Scalar Range Check
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.3
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
- Record
CVE-2020-36843- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
EUVDEUVD-2025-6277
4.3
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
- Record
EUVD-2025-6277- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-p53j-g8pw-4w5f
4.3
Ed25519 Signature Malleability in ed25519-java Due to Missing Scalar Range Check
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
- Record
GHSA-p53j-g8pw-4w5f- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
NVD
4.3
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
- Record
CVE-2020-36843- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSV
4.3
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
- Record
CVE-2020-36843- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-36843
4.3
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
- Record
DEBIAN-CVE-2020-36843- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N - Updated
- 2026-11-02
Show 9 moreShow less
OSVGHSA-p53j-g8pw-4w5f
4.3
Ed25519 Signature Malleability in ed25519-java Due to Missing Scalar Range Check
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
- Record
GHSA-p53j-g8pw-4w5f- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSVOESA-2025-1334
4.3
ed25519-java security update
This is an implementation of EdDSA in Java. Structurally, it is based on the ref10 implementation in SUPERCOP (see http://ed25519.cr.yp.to/software.html). There are two internal implementations: * A port of the radix-2^51 operations in ref10 - fast and constant-time, but only useful for Ed25519. * A generic version using BigIntegers for calculation - a bit slower and not constant-time, but compatible with any EdDSA parameter specification.
Security Fix(es):
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.(CVE-2020-36843)
- Record
OESA-2025-1334- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2020-36843
4.3
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
- Record
UBUNTU-CVE-2020-36843- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N - Updated
- 2026-11-02
OSVAZL-73250 No score
CVE-2020-36843 affecting package ed25519-java for versions less than 0.3.0-1
The implementation of EdDSA in EdDSA-Java (aka ed25519-java) through 0.3.0 exhibits signature malleability and does not satisfy the SUF-CMA (Strong Existential Unforgeability under Chosen Message Attacks) property. This allows attackers to create new valid signatures different from previous signatures for a known message.
- Record
AZL-73250- Updated
- 2026-11-05
OSVCLSA-2026-1770682157 No score
TuxCare security update for net.i2p.crypto:eddsa (1 CVE)
TuxCare rebuilt net.i2p.crypto:eddsa to address 1 CVE. Fixed in 0.3.0-tuxcare.1.
- Record
CLSA-2026-1770682157- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:14892-1 No score
ed25519-java-0.3.0-6.1 on GA media
These are all security issues fixed in the ed25519-java-0.3.0-6.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:14892-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10919-1 No score
apache-sshd-2.18.0-1.1 on GA media
These are all security issues fixed in the apache-sshd-2.18.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10919-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:1029-1 No score
Security update for ed25519-java
This update for ed25519-java fixes the following issues:
- CVE-2020-36843: Fixed no check performed on scalar to avoid signature malleability (bsc#1239551)
- Record
SUSE-SU-2025:1029-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:2472-1 No score
Security update for apache-sshd, jpgpj
This update for apache-sshd, jpgpj fixes the following issues
- CVE-2020-36843: no check performed on scalar to avoid signature malleability (bsc#1239551).
- CVE-2026-48827: Apache MINA SSHD: Path traversal in org.apache.sshd: sshd-git (bsc#1267018).
Changes for jpgpj:
- Initial packaging with v1.3
Changes for apache-sshd:
- Update to upstream version 2.18.0
- Bug Fixes
- GH-743 Ensure the Java ServiceLoader use a singleton SftpFileSystemProvider
- GH-879 Close SSH channel gracefully on exception in port forwarding
- Security: Improve handling of repository paths in sshd-git. Resolves CVE-2026-48827, bsc#1267018
- New Features
- GH-892 Align handling certificates without principals with OpenSSH 10.3
- Update to upstream version 2.17.1
- Changes
- GH-875 Use Apache Parent POM 36
- Update to upstream version 2.17.0
- GH-469, SSHD-897 Fix duplicate character echo with interactive shells
- GH-721 SSH client: schedule session timeout checks on demand only
- GH-807 Handle 'verified' flag for sk-* keys
- GH-809 Fix server-side authentication for FIDO/U2F sk-* keys with flags in authorized_keys
- GH-827 Don't fail on invalid known_hosts lines; log and skip them
- GH-830 EC public keys: let Bouncy Castle generate X.509 encodings with the curve OID as algorithm parameter
- GH-855 SFTP: use a single SftpClient per SftpFileSystem
- GH-856 Fix using ed25519 with BC-FIPS
- GH-861 SFTP client: prevent sending zero-length writes in SftpOutputStreamAsync
- SSHD-1348 Fix zero-length SFTP reads
- SSHD-1349 Bump PMD to 7.20.0 to avoid StackOverflowError when compiling on Java 26-ea
- GH-814 Include a fix for CVE-2020-36843 (bsc#1239551) in optional dependency net.i2p.crypto:eddsa:0.3.0: perform the missing range check in Apache MINA SSHD before delegating to the signature verification in net.i2p.crypto:eddsa:0.3.0. This means that using net.i2p.crypto:eddsa:0.3.0 in Apache MINA SSHD is safe despite that CVE in the dependency.
- GH-865 replace %h in HostName SSH config
- Update to upstream version 2.16.0
- Changes of version 2.16.0
- bugfix: fix cert auth failed bug
- GH-664: Skip MAC negotiation if an AEAD cipher was negotiated
- GH-663: Fix a race in IoSession creation
- Also test sshd-mina using mina-core 2.2.4
- ScpShell fixes; SFTP append mode for buggy servers
- fix sources.jar Reproducible Builds issue
- GH-700: Fix race in AbstractCloseable.doCloseImmediately()
- GH-705: Make ChannelToPortHandler accessible to user code
- GH-709: Handle keep-alive channel messages sent by an old OpenSSH server
- GH-727: supply default port for proxyJump if no HostConfigEntry
- GH-733: Fix SftpRemotePathChannel.transferTo
- GH-725: Added commandTimeoutMillis in executeRemoteCommand
- GH-774: Fix WritePendingException
- #771 Avoid NoClassDefFoundError: net/i2p/crypto/eddsa/EdDSAPublicKey
- GH-516: Fix filesystem-id parsing in getFileSystem(URI)
- GH-754: Don't close DefaultForwarder on bind error
- Close repository after usage in GitPackCommand
- Trigger ClientChannelEvent.Timeout and ClientSessionEvent.TIMEOUT independently to host's program cycle times
- Changes of version 2.15.0
- GH-618: Fix reading an OpenSshCertificate from a Buffer
- Add interface to configure details of JGit's pack implementation
- ML-KEM key exchanges using Bouncy Castle 1.79
- GH-628: Fix reading directories with trailing blanks in the name
- GH-626: Enable Streaming.Async for ChannelDirectTcpip
- Sftp server 'ls' command timeout
- GH-636: Handle unknown key types in known_hosts
- GH-643: provide interfaces for caching file attributes on paths
- Bouncy Castle EdDSA / Ed25519 Support
- Abstract revoked key handling in KnownHostsServerKeyVerifier
- Fix an incompletely interpolated dependency with maven 4.0.0-rc-4
- Fix wrong invocation of xmvn-subst
- Updated to upstream version 2.14.0
- Changes in version 2.14.0
- GH-524 Performance improvements
- GH-533 Fix multi-step authentication
- GH-582 Fix…
- Record
SUSE-SU-2026:2472-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
net.i2p.crypto:eddsaMaven |
through 0.3.0 | None known |
net.i2p:i2pMaven |
before 0.9.39 | 0.9.39 |
ed25519-javaAzure Linux:3 |
before 0.3.0-1 | 0.3.0-1 |
net.i2p.crypto:eddsaTuxCare:Maven |
0.3.0 up to 0.3.0-tuxcare.1 | 0.3.0-tuxcare.1 |
libeddsa-javaDebian:13 |
before 0.3.0-2.1 | 0.3.0-2.1 |
libeddsa-javaDebian:14 |
before 0.3.0-2.1 | 0.3.0-2.1 |
net.i2p.crypto:eddsaMaven |
through 0.3.0, plus listed versions 0.1.00.2.0 |
None known |
net.i2p:i2pMaven |
before 0.9.39, plus listed versions 0.9.260.9.270.9.280.9.290.9.30 Show 8 moreShow less0.9.310.9.320.9.330.9.340.9.350.9.360.9.370.9.38 |
0.9.39 |
ed25519-javaopenEuler:22.03-LTS-SP3 |
before 0.3.0-5.oe2203sp3 | 0.3.0-5.oe2203sp3 |
ed25519-javaopenEuler:22.03-LTS-SP4 |
before 0.3.0-5.oe2203sp4 | 0.3.0-5.oe2203sp4 |
Show 50 moreShow less
| Package | Affected | Fixed |
|---|---|---|
ed25519-javaopenEuler:24.03-LTS |
before 0.3.0-5.oe2403sp1 | 0.3.0-5.oe2403sp1 |
ed25519-javaopenEuler:24.03-LTS-SP1 |
before 0.3.0-5.oe2403sp1 | 0.3.0-5.oe2403sp1 |
ed25519-javaopenEuler:20.03-LTS-SP4 |
before 0.3.0-5.oe2003sp4 | 0.3.0-5.oe2003sp4 |
ed25519-javaSUSE:Linux Enterprise Module for Development Tools 15 SP6 |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise Server 15 SP3-LTSS |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise Server 15 SP4-LTSS |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise Server 15 SP5-LTSS |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise Server for SAP Applications 15 SP3 |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise Server for SAP Applications 15 SP4 |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Linux Enterprise Server for SAP Applications 15 SP5 |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaSUSE:Enterprise Storage 7.1 |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
ed25519-javaopenSUSE:Leap 15.6 |
before 0.3.0-150200.5.9.1 | 0.3.0-150200.5.9.1 |
apache-sshdSUSE:Linux Enterprise Module for Development Tools 15 SP7 From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise Module for Development Tools 15 SP7 From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise Server 15 SP5-LTSS From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise Server 15 SP5-LTSS From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise Server for SAP Applications 15 SP4 From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise Server for SAP Applications 15 SP4 From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise Server for SAP Applications 15 SP5 From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise Server for SAP Applications 15 SP5 From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
apache-sshdSUSE:Linux Enterprise Server for SAP Applications 15 SP6 From an advisory covering 2 CVEs |
before 2.18.0-150200.5.11.1 | 2.18.0-150200.5.11.1 |
jpgpjSUSE:Linux Enterprise Server for SAP Applications 15 SP6 From an advisory covering 2 CVEs |
before 1.3-150200.5.3.1 | 1.3-150200.5.3.1 |
ruby-ed25519Ubuntu:20.04:LTS |
All versions, plus listed versions 1.2.4-11.2.4-1build1 |
None known |
ruby-ed25519Ubuntu:22.04:LTS |
All versions, plus listed versions 1.2.4-21.2.4-2build11.3.0+ds-1 |
None known |
ruby-ed25519Ubuntu:24.04:LTS |
All versions, plus listed versions 1.3.0+ds-1build21.3.0+ds-1build31.3.0+ds-1build4 |
None known |
libeddsa-javaUbuntu:25.10 |
All versions, plus listed versions 0.3.0-20.3.0-2.1 |
None known |
ruby-ed25519Ubuntu:25.10 |
All versions, plus listed versions 1.3.0+ds-1build51.4.0+ds-1 |
None known |
libeddsa-javaUbuntu:26.10 |
All versions, plus listed versions 0.3.0-3 |
None known |
ruby-ed25519Ubuntu:26.10 |
All versions, plus listed versions 1.4.0+ds-1 |
None known |
libeddsa-javaUbuntu:26.04:LTS |
All versions, plus listed versions 0.3.0-2.10.3.0-3 |
None known |
ruby-ed25519Ubuntu:26.04:LTS |
All versions, plus listed versions 1.4.0+ds-1 |
None known |
ed25519-javaopenSUSE:Tumbleweed |
before 0.3.0-6.1 | 0.3.0-6.1 |
apache-sshdopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 2.18.0-1.1 | 2.18.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-36843 is a medium vulnerability (CVSS 4.3) in Str4d Ed25519-java, published March 13, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.14%, the 3rd percentile. Fixed in net.i2p:i2p 0.9.39.
References
github.com/str4d/ed25519-java/issues/82
eprint.iacr.org/2020/1244
nvd.nist.gov/vuln/detail/CVE-2020-36843
github.com/i2p/i2p.i2p/commit/d7d1dcb5399c61cf2916ccc45aa25b0209c88712
github.com/advisories/GHSA-p53j-g8pw-4w5f
security-tracker.debian.org/tracker/CVE-2020-36843
Show 11 moreShow less
github.com/str4d/ed25519-java
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2025-1334
suse.com/support/update/announcement/2025/suse-su-20251029-1
bugzilla.suse.com/1239551
suse.com/security/cve/CVE-2020-36843
suse.com/support/update/announcement/2026/suse-su-20262472-1
bugzilla.suse.com/1267018
suse.com/security/cve/CVE-2026-48827
ubuntu.com/security/CVE-2020-36843
cve.org/CVERecord?id=CVE-2020-36843
lists.opensuse.org/archives/list/[email protected]/thread/2O3QY3K2A6VAR6KMGA2CDSX2VVFROARA
Left out here: the rest of 1 source description. The JSON record has them.