This image has an empty alt attribute; its file name is attacksafe-software-logo-1024x213.png
This image has an empty alt attribute; its file name is attacksafe-software-logo-1024x213.png

Serious bugs and vulnerabilities in the bip-schnorrrb library

The bip-schnorrrb library on GitHub is an implementation of the Schnorr signature protocol for cryptographic operations in Bitcoin.

Despite its widespread use, serious bugs and vulnerabilities were discovered in the library:

1. Deserialization error (CVE-2023-0085)

  • A bug in the function DeserializeSignatureallowed attackers to create invalid signatures that were accepted as valid by the library.
  • This could lead to signature forgery attacks, allowing attackers to sign arbitrary transactions on behalf of the victim.

2. Buffer overflow vulnerability (CVE-2023-0086)

  • A bug in the function ParseSignaturecould cause a buffer overflow when processing long signatures.
  • This could cause the application to crash or potentially lead to arbitrary code execution.

3. Error verifying signature without checking signature size (CVE-2023-0087)

  • There was a bug in the function VerifySignaturethat didn’t check the size of the signature before validating it.
  • This could allow attackers to create shorter or longer signatures that were accepted as valid by the library.

4. Use-after-free vulnerability (CVE-2023-0088)

  • There was a bug in the function CreateSignaturethat did not release allocated memory after use.
  • This could lead to memory leaks or potentially other use-after-free vulnerabilities.

5. Error deserializing non-canonical signatures (CVE-2023-0089)

  • A bug in the function DeserializeSignatureallowed deserialization of non-canonical signatures that did not follow the expected format.
  • This could lead to false positive signature verification results.

Consequences

These vulnerabilities could affect the security of Bitcoin’s cryptographic operations, such as creating signatures and verifying transactions. They could allow attackers to do the following:

  • Forging signatures on behalf of victims
  • Execute arbitrary code on vulnerable devices
  • Creating and sending invalid transactions
  • Leakage of confidential information

Corrections

The developers of the bip-schnorrrb library have released fixes for all discovered vulnerabilities. Users are advised to update their versions of the library to the latest version, which includes the following fixes:

  • Fixed deserialization bug (CVE-2023-0085)
  • Fixed buffer overflow vulnerability (CVE-2023-0086)
  • Fixed issue with signature verification without checking signature size (CVE-2023-0087)
  • Fixed use-after-free vulnerability (CVE-2023-0088)
  • Fixed issue with deserialization of non-canonical signatures (CVE-2023-0089)

The bip-schnorrrb library, which is used to implement Schnorr signatures in curved elliptic curve cryptography, has had several serious bugs and vulnerabilities discovered in recent years. Some of the most notable incidents are listed below:

  1. Error in signature verification In June 2020, a critical error was discovered in the signature verification function. Due to an error in the implementation of the verification algorithm, the library could accept a forged signature as valid. This vulnerability could allow an attacker to forge a digital signature and commit fraudulent transactions or gain unauthorized access to data.
  2. Key generation vulnerability In February 2022, a vulnerability related to cryptographic key generation was discovered. The library used an insecure random number generator, which could lead to predictability of the generated keys. An attacker with access to the keys could forge digital signatures and commit fraud.
  3. Bug in the implementation of multiparty signatures In May 2021, a bug was discovered in the implementation of Schnorr multiparty signatures. Due to a bug in the code, signatures created using this feature could be forged if one of the participants colluded with the attacker. This could lead to serious problems in systems that use multi-party signatures for security, such as distributed consensus systems.
  4. Timer Attack Vulnerability In March 2023, a vulnerability was discovered that makes the library vulnerable to a timer attack. A timer attack allows an attacker to extract a secret key by measuring the time spent performing cryptographic operations. The bip-schnorrrb library did not have enough randomization when performing some operations, which made this attack possible.
  5. Exception Handling Bug In January 2022, a bug was discovered that causes the library to crash in some rare cases. The error was due to incorrect handling of exception situations when performing cryptographic operations. An attacker could use this bug to create a situation in which the library would continually throw errors, making it impossible to perform cryptographic operations.

All these errors and vulnerabilities were fixed by the library developers after they were discovered. However, they serve as a reminder of the importance of thorough auditing and testing of cryptographic software, especially when it is used in systems related to finance or sensitive data.

Conclusion

The discovered vulnerabilities in the bip-schnorrrb library posed a serious security threat to applications that use this library for cryptographic operations in Bitcoin. Timely patch releases have addressed these vulnerabilities, but it is important that users update their versions of the library to protect their systems from potential attacks.

This image has an empty alt attribute; its file name is attacksafe-software-logo-1024x213.png
This image has an empty alt attribute; its file name is attacksafe-software-logo-1024x213.png