<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openssl/providers/implementations/ciphers/cipher_aes_ocb.c, branch master</title>
<subtitle>TLS/SSL and crypto library.</subtitle>
<id>http://git.bktus.com/gpgfrontend/openssl/atom?h=master</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/openssl/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/'/>
<updated>2026-10-21T16:59:44Z</updated>
<entry>
<title>AES-OCB: reject a NULL input to update</title>
<updated>2026-10-21T16:59:44Z</updated>
<author>
<name>Trust-Worthy</name>
<email>jondeveloper0@gmail.com</email>
</author>
<published>2026-09-29T22:06:16Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=fc4e557ecb6406e421d452ce620d14fedecc4368'/>
<id>urn:sha1:fc4e557ecb6406e421d452ce620d14fedecc4368</id>
<content type='text'>
EVP_EncryptUpdate() with a NULL input buffer and a nonzero length read
from the NULL pointer in CRYPTO_ocb128_aad(), a NULL-pointer dereference
detected by ASan. Reject the call instead.

Assisted-by: Claude:claude-opus-5-5
Reviewed-by: Paul Dale &lt;paul.dale@oracle.com&gt;
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Merge-date: Wed Oct 21 16:59:57 2026
Merged-from: https://github.com/openssl/openssl/pull/33157
</content>
</entry>
<entry>
<title>AEADs: add an error to the queue on tag mismatch</title>
<updated>2026-09-04T17:39:20Z</updated>
<author>
<name>Billy Brumley</name>
<email>bbb@iki.fi</email>
</author>
<published>2026-08-29T06:20:52Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=f7d2d2acef273929cf75e17374f263b483e58662'/>
<id>urn:sha1:f7d2d2acef273929cf75e17374f263b483e58662</id>
<content type='text'>
Decrypt with a wrong tag for each AEAD and inspect the error reason left
on the queue. Repeat for ciphertext only, AAD only, and ciphertext + AAD.
The tag rejection must fail at EVP_DecryptFinal_ex(), and leave error
PROV_R_BAD_DECRYPT on the queue.

Assisted-by: Claude:claude-opus-4-8
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Reviewed-by: Daniel Kubec &lt;kubec@openssl.foundation&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Merge-date: Fri Sep  4 17:39:21 2026
Merged-from: https://github.com/openssl/openssl/pull/32587
</content>
</entry>
<entry>
<title>Check the tag on EVP_Cipher() finalize: Poly1305 and OCB AEADs</title>
<updated>2026-08-07T13:34:34Z</updated>
<author>
<name>Billy Brumley</name>
<email>bbb@iki.fi</email>
</author>
<published>2026-08-04T11:35:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=5741d29a5f356e05262cd0936a472a9961398d53'/>
<id>urn:sha1:5741d29a5f356e05262cd0936a472a9961398d53</id>
<content type='text'>
At the EVP level, for AEADs EVP_Cipher(ctx, out, NULL, 0) performs
finalization. For consistency across AEADs (GCM, etc.), on decrypt it
must check the tag. OCB and ChaCha20-Poly1305 took an early exit on the
empty message (with or without AAD) and returned success without
checking, so a forged tag (with or without AAD) was accepted before this
change.

Follow-up to #31555

Assisted-by: Claude:claude-opus-4-8

Reviewed-by: Frederik Wedel-Heinen &lt;fwh.openssl@gmail.com&gt;
Reviewed-by: Dmitry Belyavskiy &lt;beldmit@gmail.com&gt;
MergeDate: Fri Aug  7 13:34:35 2026
(Merged from https://github.com/openssl/openssl/pull/32173)
</content>
</entry>
<entry>
<title>[test] check tag abuse for AEAD ciphers</title>
<updated>2026-06-30T07:47:01Z</updated>
<author>
<name>Billy Brumley</name>
<email>bbb@iki.fi</email>
</author>
<published>2026-06-25T11:20:25Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=ea655177e0d0dd7885640d1d9a921ef6d2c9bf8c'/>
<id>urn:sha1:ea655177e0d0dd7885640d1d9a921ef6d2c9bf8c</id>
<content type='text'>
With AEAD ciphers, a tag is an input for decryption (the value to verify)
and an output of encryption (the generated value). Therefore:
- supplying a tag value while encrypting must fail
- reading a tag while decrypting must fail
- error codes should be consistent across all AEADs

Assisted-by: Claude:claude-opus-4-8

Reviewed-by: Dmitry Belyavskiy &lt;beldmit@gmail.com&gt;
Reviewed-by: Daniel Kubec &lt;kubec@openssl.foundation&gt;
MergeDate: Tue Jun 30 07:47:03 2026
(Merged from https://github.com/openssl/openssl/pull/31734)
</content>
</entry>
<entry>
<title>Apply the buffered IV on the AES-OCB EVP_Cipher() path</title>
<updated>2026-06-11T15:08:41Z</updated>
<author>
<name>Viktor Dukhovni</name>
<email>viktor@openssl.org</email>
</author>
<published>2026-05-18T08:09:44Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=f87f0b6a8e04bcdeb98afc82b0da06a2d537f399'/>
<id>urn:sha1:f87f0b6a8e04bcdeb98afc82b0da06a2d537f399</id>
<content type='text'>
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

Reviewed-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
MergeDate: Mon Jun  8 20:02:00 2026
</content>
</entry>
<entry>
<title>Copyright year updates</title>
<updated>2026-03-10T14:37:52Z</updated>
<author>
<name>openssl-machine</name>
<email>openssl-machine@openssl.org</email>
</author>
<published>2026-03-10T14:37:52Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=c7215806539ea0a312c42a5893b1f5f9eb9ae5ae'/>
<id>urn:sha1:c7215806539ea0a312c42a5893b1f5f9eb9ae5ae</id>
<content type='text'>
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
MergeDate: Tue Mar 10 14:37:54 2026
Release: yes
</content>
</entry>
<entry>
<title>Switch FIPS self tests to deferred execution</title>
<updated>2026-02-13T09:53:41Z</updated>
<author>
<name>Simo Sorce</name>
<email>simo@redhat.com</email>
</author>
<published>2025-11-25T22:16:50Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=40240719507cfc09870f0faa28cc6e70084d3ee7'/>
<id>urn:sha1:40240719507cfc09870f0faa28cc6e70084d3ee7</id>
<content type='text'>
Update the FIPS module to run self-tests on demand (deferred) rather
than on module load. Change the test definitions in self_test_data.c
from SELF_TEST_ONLOAD to SELF_TEST_DEFERRED.

Add calls to ossl_deferred_self_test() in the newctx functions for
ciphers, digests, signatures, KDFs, KEMs and DRBGs to trigger execution
upon first instantiation. Introduce CIPHER_PROV_CHECK and
DIGEST_PROV_CHECK macros in common headers to facilitate these checks.
Define dependencies for composite tests to ensure prerequisite tests
run when needed.

Signed-off-by: Simo Sorce &lt;simo@redhat.com&gt;

Reviewed-by: Dmitry Belyavskiy &lt;beldmit@gmail.com&gt;
(Merged from https://github.com/openssl/openssl/pull/29222)
</content>
</entry>
<entry>
<title>Redo source reformatting with the TypeNames added</title>
<updated>2025-12-17T15:19:43Z</updated>
<author>
<name>Richard Levitte</name>
<email>levitte@openssl.org</email>
</author>
<published>2025-12-12T15:44:45Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=63e912b7581e85ca0eadcf950bbc70896b183b0e'/>
<id>urn:sha1:63e912b7581e85ca0eadcf950bbc70896b183b0e</id>
<content type='text'>
This resulted in some source reformatting becoming a bit less trippy

This is the script I used to run clang-format appropriately enough:

    #! /bin/bash

    include_re=$(yq -r '.repos.[].hooks.[] | select(.id == "clang-format") | .files' &lt; .pre-commit-config.yaml)
    known_generated=( crypto/bn/bn_prime.h
                      crypto/objects/obj_dat.h
                      crypto/objects/obj_xref.h
                      include/openssl/obj_mac.h
                      crypto/conf/conf_def.h
                      crypto/asn1/charmap.h
                      '*_err.c'
                      '*err.h' )

    exclusions=()
    for g in "${known_generated[@]}"; do
        # Convert pattern to a regex
        g=${g//\./\\.}
        g=${g//\*/.\*}
        exclusions+=( "^${g}\$" )
    done
    # Join all exclusions into one regex
    exclude_re=$(IFS='|'; echo "${exclusions[*]}")

    (set -x; git ls-files | grep -E $include_re | grep -Ev $exclude_re | xargs clang-format -i)

Reviewed-by: Paul Yang &lt;paulyang.inf@gmail.com&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/29383)
</content>
</entry>
<entry>
<title>4.0-POST-CLANG-FORMAT-WEBKIT</title>
<updated>2025-12-09T07:28:19Z</updated>
<author>
<name>Bob Beck</name>
<email>beck@openssl.org</email>
</author>
<published>2025-12-09T07:08:07Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=2fab90bb5e1937f1c2125eab144f7f6c39e70087'/>
<id>urn:sha1:2fab90bb5e1937f1c2125eab144f7f6c39e70087</id>
<content type='text'>
Reviewed-by: Saša Nedvědický &lt;sashan@openssl.org&gt;
Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Reviewed-by: Nikola Pajkovsky &lt;nikolap@openssl.org&gt;
(Merged from https://github.com/openssl/openssl/pull/29242)
</content>
</entry>
<entry>
<title>ciphers: Use include file for generated code</title>
<updated>2025-10-20T07:45:53Z</updated>
<author>
<name>Simo Sorce</name>
<email>simo@redhat.com</email>
</author>
<published>2025-10-16T19:48:06Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=5091f2e318cced2d5ea871d8552914204b33fdea'/>
<id>urn:sha1:5091f2e318cced2d5ea871d8552914204b33fdea</id>
<content type='text'>
Signed-off-by: Simo Sorce &lt;simo@redhat.com&gt;

Reviewed-by: Matt Caswell &lt;matt@openssl.org&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.org&gt;
Reviewed-by: Dmitry Belyavskiy &lt;beldmit@gmail.com&gt;
(Merged from https://github.com/openssl/openssl/pull/28838)
</content>
</entry>
</feed>
