In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Disallow concurrent writes in af_alg_sendmsg Issuing two writes to the same af_alg socket is bogus as the data will be interleaved in an unpredictable fashion. Furthermore, concurrent writes may create inconsistencies in the internal socket state. Disallow this by adding a new ctx->write field that indiciates exclusive ownership for writing.
In the Linux kernel, the following vulnerability has been resolved: tls: fix handling of zero-length records on the rx_list Each recvmsg() call must process either - only contiguous DATA records (any number of them) - one non-DATA record If the next record has different type than what has already been processed we break out of the main processing loop. If the record has already been decrypted (which may be the case for TLS 1.3 where we don't know type until decryption) we queue the pending record to the rx_list. Next recvmsg() will pick it up from there. Queuing the skb to rx_list after zero-copy decrypt is not possible, since in that case we decrypted directly to the user space buffer, and we don't have an skb to queue (darg.skb points to the ciphertext skb for access to metadata like length). Only data records are allowed zero-copy, and we break the processing loop after each non-data record. So we should never zero-copy and then find out that the record type has changed. The corner case we missed is when the initial record comes from rx_list, and it's zero length.
Issue summary: A specially crafted PKCS#7 or S/MIME signed message could trigger a use-after-free during PKCS#7 signature verification. Impact summary: A use-after-free may result in process crashes, heap corruption, or potentially remote code execution. When processing a PKCS#7 or S/MIME signed message, if the SignedData digestAlgorithms field is present as an empty ASN.1 SET, OpenSSL may incorrectly free a caller-owned BIO during PKCS7_verify(). A subsequent use of the BIO by the calling application results in a use-after-free condition. In the common case this occurs when the application later calls BIO_free() on the BIO originally passed to PKCS7_verify(). Depending on allocator behavior and application-specific BIO usage patterns, this may result in a crash or other memory corruption. In some application contexts this may potentially be exploitable for remote code execution. Applications that process PKCS#7 or S/MIME signed messages using OpenSSL PKCS#7 APIs may be affected. Applications using the CMS APIs for this processing are not affected. The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.
via cve_org
| Version | Type | Source | Base | Exp | Imp |
|---|---|---|---|---|---|
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.8 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Primary | cve.org | 8.1 | — | — |
| 3.1 | Secondary | ENISA EUVD | 8.8 | — | — |
| 3.1 | Secondary | NVD | 8.8 | 2.8 | 5.9 |
| 3.1 | Secondary | NVD | 8.1 | 2.2 | 5.9 |