Re: [LFS Trac] #6005: openssl-4.0.2

LFS Trac ([email protected] via lfs-book Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.book
Message-ID <[email protected]>
#6005: openssl-4.0.2
-------------------------+-----------------------
 Reporter:  Bruce Dubbs  |       Owner:  lfs-book
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  13.2
Component:  Book         |     Version:  git
 Severity:  normal       |  Resolution:
 Keywords:               |
-------------------------+-----------------------
Comment (by Joe Locash):

 This is a security update:

 {{{
 Message-ID:
 <d5059c13173aa31fe447e01bbee24d35aadbc702.camel@openssl.foundation>
 Date: Tue, 25 Aug 2026 14:55:51 +0200
 From: Tomas Mraz <[email protected]>
 To: [email protected]
 Subject: OpenSSL Security Advisory [25th August 2026]

 OpenSSL Security Advisory [25th August 2026]
 =========================================

 QUIC Server May Trigger Double Free When Processing INITIAL Packet
 (CVE-2026-18798)
 ===================================================================================

 Severity: Moderate

 Issue summary: QUIC server may double free QRX (QUIC record layer RX)
 object
 when channel creation fails for initial packet.

 Impact summary: Double free leads to heap corruption, which typically
 results in
 termination of QUIC server process, leading to Denial of Service. There is
 so
 far no evidence that this double free is exploitable for remote code
 execution,
 thus it is considered highly improbable.

 CWE: CWE-415: Double Free

 Description: In order to validate initial packet, OpenSSL QUIC stack
 default
 packet handler (port_default_packet_handler()) creates a so-called QRX
 object.
 If the initial packet validates successfully with QRX object, the default
 packet
 handler proceeds to channel (connection object) creation. The QRX object
 used
 for packet validation is passed to port_bind_channel(), so it becomes part
 of
 the newly created connection. If port_bind_channel() fails, then it also
 frees
 the QRX object. Once port_bind_channel() returns, the
 port_default_packet_handler()
 detects the failure and proceeds to the error branch, where the same QRX
 object is
 freed for the second time.

 The failure in port_bind_channel() function can be induced with a
 relatively
 low effort by a malformed (non RFC 9000 compliant) INITIAL packet. If the
 packet
 carries DCID (destination connection ID) which is shorter than 8 bytes,
 then
 port_bind_channel() jumps to the error path after
 ossl_quic_lcidm_enrol_odcid()
 detects that the DCID has invalid length.

 FIPS impact: no
 The FIPS module is not affected, as the QUIC implementation is outside of
 the OpenSSL FIPS module boundary.

 OpenSSL 4.0, 3.6, and 3.5 are vulnerable to this issue.

 OpenSSL 3.4, 3.0, 1.1.1 and 1.0.2 are not affected by this issue.

 OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2
 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4
 OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8

 This issue was reported on 27 July 2026 by Fuzz0x (ZKSC Institute of
 Security
 Research), on 1 August 2026 by Emilio Galle and on 16 August 2026 by
 Feng Xue (ThreatBoon).
 The fix has been developed by Alexandr Nedvedicky.

 Heap Buffer Overflow in CMS Key Unwrapping (CVE-2026-63072)
 ===========================================================

 Severity: Moderate

 Issue summary: OpenSSL CMS decryption sizes the key-unwrap output buffer
 based
 on querying the unwrapped key size, but the AES-WRAP-PAD unwrap primitive
 can write and cleanse more bytes than that query reports, causing an
 8-byte
 out-of-bounds heap write.

 Impact summary: An attacker who supplies a crafted CMS message can trigger
 a
 deterministic 8-byte out-of-bounds heap write when the victim decrypts it
 with CMS_decrypt(), corrupting the heap and typically resulting in a
 Denial
 of Service.

 CWE: CWE-787: Out-of-bounds Write

 Description: The key-wrap OID is potentially attacker-controlled on the
 wire.
 CMS unwrapping allows both id-aesNNN-wrap-pad and id-aesNNN-wrap ciphers.
 An attacker can take a legitimate message and change a single OID byte to
 select the padded variant while leaving the message otherwise valid. Since
 the unwrap key is derived from the recipient's private operation (ECDH key
 agreement or ML-KEM decapsulation), the RFC 5649 integrity check cannot
 pass, and the decryption fails with integrity failure.

 The write is a fixed-size (8-byte), fixed-value (zero) heap overflow
 immediately past the allocation, requires no special configuration, and is
 reachable from the public CMS_decrypt() function. The consequence is
 a heap corruption leading to a Denial of Service. The fix in the CMS code
 sizes the unwrap output buffer for the worst case so a failed unwrap
 cannot
 write past the allocation.

 FIPS impact: no

 As the CMS code lives outside the FIPS module boundary, no FIPS
 modules are affected by this CVE.

 OpenSSL 4.0, 3.6, 3.5, 3.4, 3.0, and 1.1.1 are vulnerable to this issue.

 OpenSSL 1.0.2 is not affected by this issue.

 OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2.
 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4.
 OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8.
 OpenSSL 3.4 users should upgrade to OpenSSL 3.4.7.
 OpenSSL 3.0 users should upgrade to OpenSSL 3.0.22.

 Premium support customers only:
 OpenSSL 1.1.1 users should upgrade to OpenSSL 1.1.1zi

 This issue was reported on 18 June 2026 by Bhabani Sankar Das and
 independently by Filipe Casal (Trail of Bits) on 29 June 2026.
 The fix has been developed by Daniel Kubec.

 Invalid Pointer Dereference in CMP Server via Crafted protectionAlg
 (CVE-2026-63076)
 ====================================================================================

 Severity: Moderate

 Issue summary: OpenSSL CMP password based protection verification only
 checks whether the protectionAlg parameter was not NULL and not its
 ASN.1 type, before treating it as a PBMParameter. A crafted message can
 contain a parameter of a different type, which is then dereferenced as an
 invalid pointer.

 Impact summary: A remote, unauthenticated attacker can crash an
 application
 acting as a CMP server that accepts PBM-protected messages, or a CMP
 client
 talking to a malicious or intercepted CMP server, resulting in a Denial of
 Service.

 CWE: CWE-476: NULL Pointer Dereference

 Description: When verifying the password-based MAC protection of a CMP
 message, OpenSSL library reads the protectionAlg algorithm parameter with
 X509_ALGOR_get0(), which returns both the parameter type and its value
 pointer. The value is then cast to an ASN1_STRING and treated as the
 expected PBMParameter after only checking that pointer is not NULL. The
 parameter type returned by X509_ALGOR_get0() was never consulted.

 This happens during protection verification, before any MAC is computed,
 so
 no knowledge of the PBM shared secret is required; the only precondition
 is
 that PBM verification is reachable. On the server side this is reached
 from
 OSSL_CMP_SRV_process_request() for any application that stands up a CMP
 server accepting PBM-protected messages, and on the client side from CMP
 response validation against a malicious or on-path (MITM) server. The
 reliable consequence is a denial of service; there is no memory
 disclosure,
 no controlled memory write, and no path to code execution. CMP is a
 specialized feature that an application must explicitly enable.

 FIPS impact: no
 As the CMP code lives outside the FIPS module boundary, no FIPS modules
 are affected by this CVE.

 OpenSSL 4.0, 3.6, 3.5, 3.4, 3.0 are vulnerable to this issue.

 OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.

 OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2.
 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4.
 OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8.
 OpenSSL 3.4 users should upgrade to OpenSSL 3.4.7.
 OpenSSL 3.0 users should upgrade to OpenSSL 3.0.22.

 This issue was reported on 7 July 2026 by Ying Dong and independently by
 Bhabani Sankar Das on 9 July 2026.
 The fix has been developed by Daniel Kubec.

 RPK Server Signature Algorithm Selection Can Dereference a Missing
 Certificate (CVE-2026-14457)
 ===============================================================================================

 Severity: Low

 Issue summary: In a server or client configuration with RFC7250 Raw Public
 Keys (RPKs)
 enabled, and only the private key (with no associated certificate)
 configured locally,
 a NULL pointer dereference may occur when the remote peer solicits raw
 public keys and
 also sends the typically omitted "signature_algorithms_cert" TLS
 extension.

 Impact summary: The impact is limited to a possible Denial of Service as a
 result of
 an application abort, no data disclosure or remote command execution are
 possible.

 CWE: CWE-476: NULL Pointer Dereference

 Description: While a passing comment in sample code in the documentation
 suggests
 that key-only RPK configurations are supported, the best-practice RPK
 configuration
 is to always configure a corresponding certificate (possibly self-signed
 or
 signed by any convenient CA).

 When the private key is configured along with a matching certificate, the
 "signature_algorithms_cert" extension is handled reliably even without the
 fix, and peer clients or servers that don't support raw public keys may be
 able to complete a TLS connection by pinning or verifying the
 corresponding
 certificate or its public key.

 Deployments that prefer to configure just a private key with no
 certificate
 need to upgrade to an updated release as noted below.

 FIPS impact: no

 No FIPS modules are affected by this issue, as the SSL protocol
 implementation
 is outside the OpenSSL FIPS module boundary.

 OpenSSL 4.0, 3.6, 3.5, and 3.4 are vulnerable to this issue.

 OpenSSL 3.0, 1.1.1, and 1.0.2 are not affected by this issue.

 OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2.
 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4.
 OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8.
 OpenSSL 3.4 users should upgrade to OpenSSL 3.4.7.

 This issue was reported on 25 Jun 2026 by Filipe Casal (Trail of Bits) in
 collaboration with OpenAI.
 The fix has been developed by Viktor Dukhovni.

 Excessive Memory Use Buffering DTLS Records for a Future Epoch
 (CVE-2026-54874)
 ===============================================================================

 Severity: Low

 Issue summary: Receiving a DTLS record for a future epoch while a
 handshake
 is in progress causes OpenSSL to buffer far more memory than the record
 itself requires.

 Impact summary: A peer can use a small amount of network traffic to make
 an
 OpenSSL DTLS endpoint retain a disproportionately large amount of memory,
 which may lead to a Denial of Service.

 CWE: CWE-405: Asymmetric Resource Consumption (Amplification)

 Description: While a DTLS handshake is in progress, a peer may
 legitimately
 have already moved on to the next epoch (for example, having sent its
 ChangeCipherSpec and Finished messages) before the local endpoint has
 processed the same transition, typically because of reordering on the
 underlying UDP transport. OpenSSL buffers such early records so that they
 can be processed once the local endpoint catches up.

 Buffering a record currently retains the entire read buffer it arrived in,
 which is sized to hold the largest possible DTLS record (around 16
 kilobytes), rather than just the bytes that make up the record itself. Up
 to 100 such records may be buffered per connection. As a result, a peer
 that sends a stream of small forged records claiming to belong to the next
 epoch can cause an OpenSSL DTLS endpoint to retain around 1.7 megabytes of
 memory, despite sending only a small fraction of that amount of data over
 the network.

 An attacker therefore gains a memory amplification factor of around 1200,
 and can multiply the effect across as many associations as it is able to
 open, making this a remote memory exhaustion Denial of Service risk for
 DTLS servers. Since the memory retained per connection remains bounded,
 and any limit an application already places on the number of concurrent
 associations also bounds the total exposure, this issue has been assessed
 as Low severity.

 FIPS impact: no

 No FIPS modules are affected by this issue as the affected code is outside
 the OpenSSL FIPS module boundary.

 OpenSSL 4.0, 3.6, 3.5, 3.4, 3.0, 1.1.1 and 1.0.2 are vulnerable to this
 issue.

 OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2.
 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4.
 OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8.
 OpenSSL 3.4 users should upgrade to OpenSSL 3.4.7.
 OpenSSL 3.0 users should upgrade to OpenSSL 3.0.22.

 Premium support customers only:
 OpenSSL 1.1.1 users should upgrade to OpenSSL 1.1.1zi
 OpenSSL 1.0.2 users should upgrade to OpenSSL 1.0.2zr

 This issue was reported on 18 May 2026 by Amazon Web Services.
 The fix has been developed by Matt Caswell.

 Untrusted Sender DN Used as Format String in CMP Response Validation
 (CVE-2026-63073)
 =====================================================================================

 Severity: Low

 Issue summary: OpenSSL CMP response validation passed an unexpected
 response
 sender distinguished name directly as the format string to
 `ERR_raise_data()`.

 Impact summary: A malicious or intercepted CMP endpoint can crash a CMP
 client
 that enforces an expected sender or uses a pinned server certificate whose
 subject becomes the default expected sender.

 CWE: CWE-134: Use of Externally-Controlled Format String

 Description: When validating a received CMP message,
 ossl_cmp_msg_check_update()
 converts the peer-supplied sender distinguished name with
 X509_NAME_oneline()
 and passes it directly as the format argument to ERR_raise_data(). Percent
 characters survive the conversion, so a sender DN such as "CN=%s%n"
 reaches
 BIO_vsnprintf() as an attacker-controlled format string with no matching
 variadic
 arguments. This path is only reached when the caller configures an
 expected
 sender or pins a server certificate, which is the normal configuration for
 a
 CMP client validating server responses.

 Since the attacker controls the format string but none of the variadic
 arguments, such specifiers as %s and %n dereference or write through
 unrelated
 stack contents and crash the client. The reliable consequence is a denial
 of
 service, when the response comes from a malicious or intercepted CMP
 endpoint.
 There is no controlled memory write, arbitrary-address read, or reliable
 path
 to remote code execution.

 FIPS impact: no

 No FIPS modules are affected by this issue, as the CMP protocol
 implementation is outside the OpenSSL FIPS module boundary.

 OpenSSL 4.0, 3.6, 3.5, and 3.4 are vulnerable to this issue.

 OpenSSL 3.0, 1.1.1, and 1.0.2 are not affected by this issue.

 OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2.
 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4.
 OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8.
 OpenSSL 3.4 users should upgrade to OpenSSL 3.4.7.

 This issue was reported on 25 June 2026 by Filipe Casal (Trail of Bits) in
 collaboration with OpenAI and independently by Brandon Luo on 22 July 2026
 and TrendAI Zero Day Initiative on 14 August 2026.
 The fix has been developed by Filipe Casal (Trail of Bits) in
 collaboration
 with OpenAI.

 CMP Indefinite Cache Growth of ExtraCerts (CVE-2026-63074)
 ==========================================================

 Severity: Low

 Issue summary: The OpenSSL Certificate Management Protocol (CMP) caches
 additional certificates (extraCerts) sent in a CMP message, but never
 expunges
 them (for instance if they are invalid).  If a server reuses an
 OSSL_CMP_CTX
 frequently, this cache of extraCerts may grow unboundedly, and a malicious
 client may flood a CMP server with requests driving this growth.

 Impact summary: Users utilizing a CMP server that reuses a single
 OSSL_CMP_CTX
 for the lifetime of a server process may observe unbounded memory growth
 in the
 event a malicious client repeatedly sends requests containing unique extra
 certificates, which may lead to OOM conditions.

 CWE: CWE-770: Allocation of Resources Without Limits or Throttling

 Description: If a remote user sends CMP messages to a server with a list
 of
 extraCerts and the message is rejected, the extraCerts from the message
 remains
 in the server contexts untrusted certificate stack.  This exposes servers
 with
 long lived ctx objects to Denial of Service attacks in which an attacker
 sends
 messages intending to be rejected with a large list of additional
 certificates
 repeatedly, forcing the server to store them indefinitely.

 The issue was fixed by removing the added extra certs if the message is
 rejected, using the same method as when the context is configured to not
 do
 caching at all.

 FIPS impact: no
 As the CMP code lives outside the FIPS module boundary, no FIPS
 modules are affected by this CVE.

 OpenSSL 4.0, 3.6, 3.5, 3.4, and 3.0 are vulnerable to this issue.

 OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.

 OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2.
 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4.
 OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8.
 OpenSSL 3.4 users should upgrade to OpenSSL 3.4.7.
 OpenSSL 3.0 users should upgrade to OpenSSL 3.0.22.

 This issue was reported on June 29, 2026 by Pavol Zacik (Red Hat).
 The fix has been developed by Neil Horman.

 QUIC ACK-only Packet Retention Can Cause Memory Exhaustion
 (CVE-2026-63075)
 ===========================================================================

 Severity: Low

 Issue summary: When OpenSSL processes QUIC traffic from a peer that
 repeatedly
 sends ack-eliciting packets while not acknowledging ACK-only responses,
 the
 QUIC stack can retain ACK-only packet metadata for the lifetime of the
 connection.

 Impact summary: A remote peer that can complete a QUIC handshake can
 cause connection-scoped memory growth which may lead to Denial of Service
 through memory exhaustion, especially with sustained traffic or many
 concurrent
 QUIC connections.

 CWE: CWE-770: Allocation of Resources Without Limits or Throttling

 Description: When the OpenSSL QUIC stack sends an ACK-only packet,
 there is no requirement by the QUIC protocol that the peer will
 acknowledge
 that ACK-only packet (i.e. it is itself not ack-eliciting). However, the
 OpenSSL
 implementation stores the metadata about the ACK frames regardless.
 In and of itself that's ok, but if a malicious peer establishes a
 connection, and
 then drives the connection such that ACK-only packets are forced from the
 OpenSSL implementation peer (i.e., by sending numerous PING frames),
 and then withholding any subsequent acks for ack-eliciting data, like
 legitimate data, said malicious peer can force inappropriate memory growth
 on the OpenSSL peer, potentially leading to a Denial of Service.

 The fix is to ensure that we account for the transmission of the ACK-only
 packet in the packet histories high and low watermark without actually
 storing
 the ACK-only packet metadata itself.

 FIPS impact: no
 The OpenSSL FIPS module is not affected as the QUIC code is
 outside the FIPS module boundary.

 OpenSSL 4.0, 3.6, 3.5, and 3.4 are vulnerable to this issue.

 OpenSSL 3.0, 1.1.1 and 1.0.2 are not affected by this issue.

 OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2.
 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4.
 OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8.
 OpenSSL 3.4 users should upgrade to OpenSSL 3.4.7.

 This issue was reported on 7 July 2026 by Opal Wright (Trail of Bits).
 The fix has been developed by Neil Horman.

 AEAD Forgeries with Empty Ciphertext When Using EVP_Cipher()
 (CVE-2026-75803)
 =============================================================================

 Severity: Low

 Issue summary: ChaCha20-Poly1305 and AES-OCB decryption with an empty
 ciphertext can report success without verifying the supplied
 authentication
 tag when the operation is finalized by calling the EVP_Cipher() function.

 Impact summary: Applications calling EVP_Cipher() on an empty ciphertext
 and
 expecting the call to check the AEAD tag may accept forged messages.

 CWE: CWE-354: Improper Validation of Integrity Check Value

 Description: The EVP_Cipher() API call for AEAD ciphers behaves like a one
 shot encryption and decryption call. It also verifies the AEAD tag after
 the
 decryption operation. However for AES-OCB and ChaCha20-Poly1305 ciphers
 it skipped the AEAD tag verification when an empty ciphertext was passed
 to
 the function. The callers of this function might believe that a successful
 return indicates a valid AEAD tag for these ciphers, even when that has
 not
 truly been validated in this case.

 FIPS impact: no
 The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this
 CVE
 as the affected algorithms are not FIPS approved and thus not implemented
 in the FIPS module.

 OpenSSL 4.0, 3.6, 3.5, 3.4, and 3.0 are vulnerable to this issue.

 OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.

 OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2.
 OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4.
 OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8.
 OpenSSL 3.4 users should upgrade to OpenSSL 3.4.7.
 OpenSSL 3.0 users should upgrade to OpenSSL 3.0.22.

 This issue was reported on 19 July, 2026 by Billy Brumley (Rochester
 Institute of Technology).
 The fix has been developed by Billy Brumley (Rochester Institute
 of Technology).

 General Advisory Notes
 ======================

 URL for this Security Advisory:
 https://openssl-library.org/news/secadv/20260825.txt

 Note: the online version of the advisory may be updated with additional
 details over time.

 Only currently supported releases have been analysed. OpenSSL 3.1, 3.2 and
 3.3
 are out of support and have not been analysed.

 For details of OpenSSL severity classifications please see:
 https://openssl-library.org/policies/general/security-policy/
 }}}
-- 
Ticket URL: <https://wiki.linuxfromscratch.org/lfs/ticket/6005#comment:1>
LFS Trac <https://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.

-- 
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.