Debian Patches
Status for openssl/3.0.20-1~deb12u2
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| Match-the-local-q-DHX-parameter-against-the-peer-s-q.patch | Match the local q DHX parameter against the peer's q As FFC/DH peer public key validation uses the peer's q value instead of checking against the local q, we must also check that these q values match when setting the peer's public key. Fixes CVE-2026-42770 |
Norbert Pocs <norbertp@openssl.org> | no | 2026-05-12 | ||
| Apply-the-buffered-IV-on-the-AES-OCB-EVP_Cipher-path.patch | Apply the buffered IV on the AES-OCB EVP_Cipher() path aes_ocb_cipher(), the OCB provider's OSSL_FUNC_CIPHER_CIPHER slot, processed input without flushing the buffered IV into the OCB context. Effective nonce was 0 regardless of the caller's IV; EVP_*Final_ex() then emitted a tag depending only on (key, iv). This gave (key, nonce) reuse and single-query universal forgery on the EVP_Cipher() path. Apply update_iv() at the head of aes_ocb_cipher() to mirror the streaming handler. The matching GCM one-shot does this already. Add a cross-driver round-trip test for AES-{GCM,CCM,OCB} and ChaCha20-Poly1305 in test/evp_extra_test.c. Each cipher is exercised with and without AAD; the no-AAD case is needed because any prior EVP_CipherUpdate(NULL, aad, ...) routes through the streaming handler and applies the IV itself, masking the bug. Fixes CVE-2026-45445 |
Viktor Dukhovni <viktor@openssl.org> | no | 2026-05-18 | ||
| Fix-handling-of-empty-ciphertext-messages-in-AES-SIV.patch | Fix handling of empty-ciphertext messages in AES-SIV Messages on context reuse. Fixes CVE-2026-45446 |
Dmitry Belyavskiy <beldmit@gmail.com> | no | 2026-05-13 | ||
| Fix-possible-use-after-free-in-OpenSSL-PKCS7_verify.patch | Fix possible use-after-free in OpenSSL PKCS7_verify() Fixes CVE-2026-45447 |
Igor Ustinov <igus@openssl.foundation> | no | 2026-05-16 | ||
| Test-for-CVE-2026-45447-UAF-in-PKCS7_verify.patch | Test for CVE-2026-45447 (UAF in PKCS7_verify) The test data were created with a tool developed by Thai Duong <thai@calif.io>. |
Igor Ustinov <igus@openssl.foundation> | no | 2026-05-16 | ||
| debian-targets.patch | debian-targets | Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org> | no | 2017-11-05 | ||
| man-section.patch | man-section | Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org> | no | 2017-11-05 | ||
| no-symbolic.patch | no-symbolic | Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org> | no | 2017-11-05 | ||
| pic.patch | pic | Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org> | no | 2017-11-05 | ||
| c_rehash-compat.patch | also create old hash for compatibility | Ludwig Nussel <ludwig.nussel@suse.de> | no | 2010-04-21 | ||
| Configure-allow-to-enable-ktls-if-target-does-not-start-w.patch | Configure: allow to enable ktls if target does not start with Linux The Debian build system uses a `debian' target which sets CFLAGS and then we have for instance debian-amd64 which inherits from linux-x86_64 and debian. So far so good. Since the target name does not start with `linux', the build system does not enable ktls. So in order to get enabled, I added a `enable => [ "ktls" ],' to the generic linux config which sets it explicit). Having this set, we can check for it instead matching the target name. This commit is based on changes for afalgeng in commit 9e381e8a01859 ("Configure: allow to enable afalgeng if target does not start with Linux") |
Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | no | 2021-04-01 | ||
| Remove-the-provider-section.patch | Remove the provider section. The provider section breaks libssl1.1 users. Remove it for now. |
Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | no | 2022-06-08 | ||
| conf-Serialize-allocation-free-of-ssl_names.patch | conf: Serialize allocation/free of ssl_names. The access to `ssl_names' is not fully serialized. With multiple threads it is possible that more than one thread starts to clean up `ssl_names'. This leads to occasional segfaults if more than one terminates and performs the clean up. |
Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | no | 2022-09-19 | ||
| Fix-tests-for-new-default-security-level.patch | Fix tests for new default security level Fix tests that were expecting a default security level of 1 to work with the new default of 2. (Merged from https://github.com/openssl/openssl/pull/16760) |
Matt Caswell <matt@openssl.org> | no | 2021-10-05 | ||
| Reject-oversized-inputs-in-ASN1_mbstring_ncopy.patch | Reject oversized inputs in ASN1_mbstring_ncopy() In ASN1_mbstring_ncopy() the destination size for BMPSTRING and UNIVERSALSTRING output was computed by a signed left shift on an int: outlen = nchar << 1; /* MBSTRING_BMP */ outlen = nchar << 2; /* MBSTRING_UNIV */ For nchar large enough the result is not representable in int. In the worst case (nchar == 0x40000000) nchar << 2 wraps to zero, OPENSSL_malloc(1) is called, and traverse_string() then writes 4*nchar bytes into the one-byte allocation: a heap buffer overflow. The MBSTRING_UTF8 path computes outlen by summing per-character byte counts in out_utf8(), and that sum can overflow the same int under similarly large inputs. Neither path is reachable from code that processes X.509 certificates through the DIRSTRING_TYPE mask used by ASN1_STRING_set_by_NID(): UNIVERSALSTRING is absent from that mask, and the UTF-8 sum requires inputs on the order of half a gigabyte. Reaching them needs an application that calls ASN1_mbstring_copy()/ASN1_mbstring_ncopy() directly, or registers a custom NID via ASN1_STRING_TABLE_add(), with an oversized attacker-controlled input. Add range checks before each shift and in out_utf8(), raising ASN1_R_STRING_TOO_LONG at the point of detection. Move the existing ASN1_R_INVALID_UTF8STRING raise into out_utf8() too so the two failure modes report distinct codes; the MBSTRING_UTF8 caller is left with cleanup only and now frees dest on error, matching the BMP/UNIV branches. Fixes CVE-2026-7383 |
Viktor Dukhovni <viktor@openssl.org> | no | 2026-04-29 | ||
| cms-kek_unwrap_key-Fix-out-of-bounds-read-in-check-byte-v.patch | cms: kek_unwrap_key: Fix out-of-bounds read in check-byte validation the check-byte test in kek_unwrap_key() reads tmp[1] through tmp[6] unconditionally, so the decrypted buffer must hold at least seven octets. The pre-decryption size check enforces inlen >= 2 * blocklen, which yields the required seven octets only when blocklen >= 4. For a KEK cipher with a smaller block size, inlen can be as small as 2 * blocklen and the check-byte read overruns the inlen-sized tmp allocation. Reject blocklen < 4 in the early sanity check. All block ciphers appropriate for CMS PasswordRecipientInfo key wrapping have a block size of at least 8 octets (DES/3DES = 8, AES = 16), so this only forbids ciphers that would not be valid KEK choices anyway, and the existing inlen >= 2 * blocklen check then guarantees the seven-octet lower bound the check-byte test relies on. Fixes CVE-2026-9076 |
Nikola Pajkovsky <nikolap@openssl.org> | no | 2026-05-21 | ||
| cms-kek_unwrap_key-test-for-fix-out-of-bounds-read-in-che.patch | cms: kek_unwrap_key: test for fix out-of-bounds read in check-byte validation added EnvelopedData blob with a PasswordRecipientInfo using id-alg-PWRI-KEK and an AES-128-CFB key encryption cipher. CFB's 1-byte effective block size let the inlen >= 2 * blocklen guard in kek_unwrap_key() accept a wrapped key shorter than the seven octets the check-byte test reads from tmp[1..6]; the encryptedKey OCTET STRING here is only two bytes. |
Nikola Pajkovsky <nikolap@openssl.org> | no | 2026-05-21 | ||
| Avoid-length-truncation-in-ASN1_STRING_set.patch | Avoid length truncation in ASN1_STRING_set The ASN1_STRING_set() function takes an `int` length, make sure the argument is not inadvertently truncated when it is called from asn1_ex_c2i(). Fixes CVE-2026-34180 |
Viktor Dukhovni <viktor@openssl.org> | no | 2026-05-15 | ||
| CMS-Produce-error-when-AEAD-algorithms-are-used-in-envelo.patch | CMS: Produce error when AEAD algorithms are used in enveloped data Fixes GH-21414 (Merged from https://github.com/openssl/openssl/pull/27772) |
Jakub Zelenka <jakub.openssl@gmail.com> | no | 2025-05-22 | ||
| Reject-potentially-forged-encrypted-CMS-AuthEnvelopedData.patch | Reject potentially forged encrypted CMS AuthEnvelopedData messages 1. Adjust ossl_cms_EncryptedContent_init_bio to not accept non-AEAD ciphers. If a forged CMS message with AuthEnvelopedData is received with a non-AEAD cipher specified, we silently accept that and decrypt the message, skipping any authentication, which violates RFC 5083. We also add checks to ensure we fail if we try to encrypt AuthEnvelopedData without using an AEAD cipher. 2. Ensure that tag lengths on cms AEAD data is the recommended size. RFC 5084 recommends that mac tags be at least 12 bytes for AES-GCM and 4 bytes for AES-CCM on AuthEnvelopedData. As this code is not algorith-specific we add a check for a minimal size and just use the lower limit which is sufficient to prevent this attack. Without this check, its possible to set the tag length to 1 and within 256 guesses, forge a CMS message. Fixes CVE-2026-34182 |
Neil Horman <nhorman@openssl.org> | no | 2026-04-17 | ||
| Add-tests-for-CVE-2026-34182.patch | Add tests for CVE-2026-34182 Test to ensure that for a given CMS message: 1) We do not allow the creation of a CMS message containing AuthEnvelopedData with a non-AEAD cipher. 2) We do not accept a message containing AuthEnvelopedData with a non-AEAD cipher specified in the AlgorithmIdentifier. 3) We do not allow tag lengths less that 4 bytes. |
Neil Horman <nhorman@openssl.org> | no | 2026-05-05 | ||
| Fix-potential-NULL-dereference-processing-CMS-PasswordRec.patch | Fix potential NULL dereference processing CMS PasswordRecipientInfo Avoid NULL dereferencing when keyDerivationAlgorithm is absent in CMS PasswordRecipientInfo. Fixes CVE-2026-42766 |
Igor Ustinov <igus@openssl.foundation> | no | 2026-05-21 | ||
| Test-for-CVE-2026-42766.patch | Test for CVE-2026-42766 The script make_missing_kdf_der.py was developed by Mayank Jangid and Kushal Khemka. |
Igor Ustinov <igus@openssl.foundation> | no | 2026-05-20 |
All known versions for source package 'openssl'
- 4.0.1-1 (experimental)
- 3.6.3-1 (forky, sid)
- 3.5.6-1~deb13u2 (trixie-proposed-updates, trixie-security)
- 3.5.6-1~deb13u1 (trixie)
- 3.0.20-1~deb12u2 (bookworm-security, bookworm-proposed-updates)
- 3.0.20-1~deb12u1 (bookworm)
- 3.0.17-1~deb12u2 (bookworm-updates)
- 3.0.14-1~deb12u1 (bookworm-backports)
