Matt Caswell

#2996of 53,633
84.1Total CVSS
Vulnerabilities · 13
Low
1
Medium
6
High
4
Critical
2
PT-2024-6083
9.4
2024-05-02
Python · Cpython · CVE-2024-5535
**Name of the Vulnerable Software and Affected Versions** OpenSSL versions prior to the next release (exact version not specified) CPython version 3.9 and earlier **Description** The issue is related to the OpenSSL API function `SSL select next proto` which can cause a crash or memory contents to be sent to the peer when called with an empty supported client protocols buffer. This can result in a loss of confidentiality, with up to 255 bytes of arbitrary private data from memory being sent to the peer. The issue is typically not under attacker control and may occur by accident due to a configuration or programming error in the calling application. The `SSL select next proto` function is used by TLS applications that support ALPN (Application Layer Protocol Negotiation) or NPN (Next Protocol Negotiation), with NPN being older and deprecated in favor of ALPN. **Recommendations** For OpenSSL versions prior to the next release, there is no information about a newer version that contains a fix for this vulnerability. For CPython version 3.9 and earlier, ensure that `SSLContext.set npn protocols()` is not configured with an empty list to prevent the buffer over-read issue. As a temporary workaround, consider disabling the use of NPN in favor of ALPN to minimize the risk of exploitation. Restrict access to the `SSL select next proto` function to prevent accidental calls with empty client protocol buffers. Avoid using the `client len` parameter with a value of 0 when calling the `SSL select next proto` function. Note: At the moment, there is no information about a newer version that contains a fix for this vulnerability.
PT-2023-3466
7.8
2023-05-30
Mysql Server · Mysql Server · CVE-2023-2650
**Name of the Vulnerable Software and Affected Versions** OpenSSL versions prior to 3.0 OpenSSL versions 3.0 and newer MySQL Server versions 5.7.42 and earlier, 8.0.33 and earlier **Description** The issue is related to the processing of specially crafted ASN.1 object identifiers, which can cause significant delays in applications using the OpenSSL library. This can lead to a Denial of Service (DoS) condition. The `OBJ obj2txt()` function is used to translate an ASN.1 OBJECT IDENTIFIER to its canonical numeric text form, and when dealing with very large sub-identifiers, the translation can take a very long time. The time complexity is O(n^2) with 'n' being the size of the sub-identifiers in bytes. The impact is relatively low on TLS due to the 100KiB limit on the peer's certificate chain. Applications that call `OBJ obj2txt()` directly with untrusted data are affected, with any version of OpenSSL. **Recommendations** For OpenSSL versions prior to 3.0, consider upgrading to a newer version to mitigate the risk. For OpenSSL versions 3.0 and newer, ensure that the subsystems OCSP, PKCS7/SMIME, CMS, CMP/CRMF or TS have message size limits in place to prevent excessive delays. For MySQL Server versions 5.7.42 and earlier, 8.0.33 and earlier, upgrade to a newer version to address the vulnerability. As a temporary workaround, consider disabling the `OBJ obj2txt()` function or restricting its use with untrusted data until a patch is available.
PT-2022-6260
7.5
2022-11-29
Mysql Server · Mysql Server · CVE-2023-0215
**Name of the Vulnerable Software and Affected Versions** OpenSSL (affected versions not specified) MySQL Server versions 5.7.41 and earlier, 8.0.32 and earlier **Description** The public API function BIO new NDEF is a helper function used for streaming ASN.1 data via a BIO. It is primarily used internally to OpenSSL to support the SMIME, CMS and PKCS7 streaming capabilities, but may also be called directly by end user applications. The function receives a BIO from the caller, prepends a new BIO f asn1 filter BIO onto the front of it to form a BIO chain, and then returns the new head of the BIO chain to the caller. Under certain conditions, for example if a CMS recipient public key is invalid, the new filter BIO is freed and the function returns a NULL result indicating a failure. However, in this case, the BIO chain is not properly cleaned up and the BIO passed by the caller still retains internal pointers to the previously freed filter BIO. If the caller then goes on to call BIO pop() on the BIO then a use-after-free will occur. This will most likely result in a crash. This scenario occurs directly in the internal function B64 write ASN1() which may cause BIO new NDEF() to be called and will subsequently call BIO pop() on the BIO. Other public API functions that may be impacted by this include i2d ASN1 bio stream, BIO new CMS, BIO new PKCS7, i2d CMS bio stream and i2d PKCS7 bio stream. **Recommendations** For OpenSSL, at the moment, there is no information about a newer version that contains a fix for this vulnerability. For MySQL Server versions 5.7.41 and earlier, 8.0.32 and earlier, update to a version that is not affected by this vulnerability. As a temporary workaround, consider disabling the `BIO new NDEF()` function until a patch is available. Restrict access to the vulnerable module `BIO f asn1` to minimize the risk of exploitation. Avoid using the `BIO pop()` function on the BIO until the issue is resolved.
PT-2021-7737
7.8
2021-12-08
Openssl · Openssl · CVE-2022-4450
**Name of the Vulnerable Software and Affected Versions** OpenSSL (affected versions not specified) **Description** The function PEM read bio ex() reads a PEM file from a BIO and parses and decodes the "name" (e.g. "CERTIFICATE"), any header data and the payload data. If the function succeeds then the `name out`, `header` and `data` arguments are populated with pointers to buffers containing the relevant decoded data. The caller is responsible for freeing those buffers. It is possible to construct a PEM file that results in 0 bytes of payload data. In this case PEM read bio ex() will return a failure code but will populate the `header` argument with a pointer to a buffer that has already been freed. If the caller also frees this buffer then a double free will occur. This will most likely lead to a crash. This could be exploited by an attacker who has the ability to supply malicious PEM files for parsing to achieve a denial of service attack. The functions PEM read bio() and PEM read() are simple wrappers around PEM read bio ex() and therefore these functions are also directly affected. These functions are also called indirectly by a number of other OpenSSL functions including PEM X509 INFO read bio ex() and SSL CTX use serverinfo file() which are also vulnerable. Some OpenSSL internal uses of these functions are not vulnerable because the caller does not free the `header` argument if PEM read bio ex() returns a failure code. These locations include the PEM read bio TYPE() functions as well as the decoders introduced in OpenSSL 3.0. The OpenSSL asn1parse command line application is also impacted by this issue. **Recommendations** At the moment, there is no information about a newer version that contains a fix for this vulnerability.