A flaw was found in all python-ecdsa versions before 0.13.3, where it did not correctly verify whether signatures used DER encoding. Without this verification, a malformed signature could be accepted, making the signature malleable. Without proper verification, an attacker could use a malleable signature to create false transactions.
{ "nvd_published_at": "2020-01-02T15:15:00Z", "cwe_ids": [ "CWE-347" ], "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2020-04-01T15:40:54Z" }
{ "affected_functions": [ "ecdsa.der.remove_constructed", "ecdsa.der.remove_sequence", "ecdsa.der.remove_octet_string", "ecdsa.der.remove_object", "ecdsa.der.remove_integer", "ecdsa.der.read_length", "ecdsa.keys.VerifyingKey.verify_digest", "ecdsa.util.sigdecode_string", "ecdsa.util.sigdecode_strings" ] }