CVE-2026-50149: Github.com/projectcontour/contour Contour Has Improper JWT Verification Vulnerability

MODERATE
Advisory Identifier: GHSA-g3xr-5w5j-w4q4
CVSS 6.5
CWE-295
Published
Advisory Summary

CVE-2026-50149 is a MODERATE (CVSS 6.5) contour has improper jwt verification vulnerability (CWE-295: Improper Certificate Validation) affecting Github.com/projectcontour/contour libraries in the Go ecosystem. The issue involves contour has improper jwt verification for non-sni requests on virtual hosts with fallback certificate enabled. Remediation is available by upgrading affected packages to version 1.33.5.

CVE-2026-50149 at a Glance

CVE Identifier CVE-2026-50149
GHSA Identifier GHSA-g3xr-5w5j-w4q4
Severity MODERATE
CVSS v3.1 Base Score 6.5
CWE Classification CWE-295: Improper Certificate Validation
Affected Product Github.com/projectcontour/contour
Package Ecosystem Go
Published Date
Last Updated

Security Impact

CVSS: 6.5

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N).

Attack Vector Network (AV:N)
Attack Complexity High (AC:H)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality High (C:H)
Integrity Low (I:L)
Availability None (A:N)

How to Fix CVE-2026-50149

To remediate this vulnerability, upgrade all affected Github.com/projectcontour/contour dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

github.com/projectcontour/contour fixed: 1.33.5
Upgrade github.com/projectcontour/contour to 1.33.5
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for github.com/projectcontour/contour

How to Check if You Are Affected

To determine whether your application is affected by CVE-2026-50149, inspect your project dependencies for Github.com/projectcontour/contour:

inspect dependencies for github.com/projectcontour/contour

Analyze the terminal output to locate any version of Github.com/projectcontour/contour in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.33.5), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-295: Improper Certificate Validation, where the product does not validate, or incorrectly validates, a certificate. In Github.com/projectcontour/contour, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact When an `HTTPProxy` is configured with incompatible combination of both `.spec.virtualhost.tls.enableFallbackCertificate: true` and `.spec.virtualhost.jwtProviders`, Contour does not reject the configuration. Consequently, requests from clients that do not send TLS SNI or send an unrecognized SNI (one that does not match any `HTTPProxy` FQDN) bypass configured JWT verification and are proxied to upstream services without a valid token. To list all `HTTPProxies` with this invalid configuration, run ```bash kubectl get httpproxies -A -o json | jq -r ' .items[] | select(.spec.virtualhost | .tls.enableFallbackCertificate and .jwtProviders) | "Invalid HTTPProxy found: \(.metadata.namespace)/\(.metadata.name)" ' ``` ### Patches This issue is fixed in Contour v1.33.5. Contour now rejects and marks invalid any `HTTPProxy` resources that combine `.spec.virtualhost.tls.enableFallbackCertificate: true` with `.spec.virtualhost.jwtProviders`. Affected resources will receive a status condition with the error reason `TLSIncompatibleFeatures`. ### Workarounds Do not enable `.spec.virtualhost.tls.enableFallbackCertificate` on `HTTPProxy` resources that also define `.spec.virtualhost.jwtProviders`. Remove one of the two settings to avoid the invalid configuration. ### References - Contour fallback certificate documentation: https://projectcontour.io/docs/main/config/tls-termination/#fallback-certificate - Contour JWT verification documentation: https://projectcontour.io/docs/main/config/jwt-verification/

CVE-2026-50149 Affected Github.com/projectcontour/contour Versions

1 component(s)
Fixed Versions:
1.33.5
Product / Package Ecosystem Affected Versions Fixed Version
github.com/projectcontour/contour
Go
≥ 1.23.0
< 1.33.5
1.33.5

References

Frequently Asked Questions

What is CVE-2026-50149?
CVE-2026-50149 is a security vulnerability in Github.com/projectcontour/contour involving Contour has Improper JWT Verification for Non-SNI Requests on Virtual Hosts with Fallback Certificate Enabled under CWE-295: Improper Certificate Validation.
Which Github.com/projectcontour/contour versions are affected?
Affected versions include releases prior to 1.33.5 across affected packages: github.com/projectcontour/contour.
What version fixes CVE-2026-50149?
Upgrading to 1.33.5 (or the latest patched release for your respective branch) resolves the vulnerability.
Is github.com/projectcontour/contour affected?
Yes, github.com/projectcontour/contour is affected in releases prior to 1.33.5. Upgrade your dependency to 1.33.5 or later.
What is the CVSS score of CVE-2026-50149?
CVE-2026-50149 has a CVSS v3.1 base score of 6.5 (MODERATE) with vector string CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N.
What CWE is associated with CVE-2026-50149?
CVE-2026-50149 is classified under CWE-295: Improper Certificate Validation (The product does not validate, or incorrectly validates, a certificate.).
How can I check Go dependencies for CVE-2026-50149?
Run the dependency tree command: 'inspect dependencies for github.com/projectcontour/contour'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-g3xr-5w5j-w4q4",
  "modified" : "2026-07-02T17:15:20Z",
  "published" : "2026-07-02T17:15:20Z",
  "aliases" : [ "CVE-2026-50149" ],
  "summary" : "Contour has Improper JWT Verification for Non-SNI Requests on Virtual Hosts with Fallback Certificate Enabled",
  "details" : "### Impact\n\nWhen an `HTTPProxy` is configured with incompatible combination of both `.spec.virtualhost.tls.enableFallbackCertificate: true` and `.spec.virtualhost.jwtProviders`, Contour does not reject the configuration. Consequently, requests from clients that do not send TLS SNI or send an unrecognized SNI (one that does not match any `HTTPProxy` FQDN) bypass configured JWT verification and are proxied to upstream services without a valid token.\n\nTo list all `HTTPProxies` with this invalid configuration, run\n\n```bash\nkubectl get httpproxies -A -o json | jq -r '\n  .items[]\n  | select(.spec.virtualhost | .tls.enableFallbackCertificate and .jwtProviders)\n  | \"Invalid HTTPProxy found: \\(.metadata.namespace)/\\(.metadata.name)\"\n'\n```\n\n### Patches\n\nThis issue is fixed in Contour v1.33.5. Contour now rejects and marks invalid any `HTTPProxy` resources that combine `.spec.virtualhost.tls.enableFallbackCertificate: true` with `.spec.virtualhost.jwtProviders`. Affected resources will receive a status  condition with the error reason `TLSIncompatibleFeatures`.\n\n### Workarounds\n\nDo not enable `.spec.virtualhost.tls.enableFallbackCertificate` on `HTTPProxy` resources that also define `.spec.virtualhost.jwtProviders`. Remove one of the two settings to avoid the invalid configuration.\n\n### References\n\n- Contour fallback certificate documentation: https://projectcontour.io/docs/main/config/tls-termination/#fallback-certificate\n- Contour JWT verification documentation: https://projectcontour.io/docs/main/config/jwt-verification/",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Go",
      "name" : "github.com/projectcontour/contour"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "1.23.0"
      }, {
        "fixed" : "1.33.5"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/projectcontour/contour/security/advisories/GHSA-g3xr-5w5j-w4q4"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/projectcontour/contour"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-295" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-07-02T17:15:20Z",
    "nvd_published_at" : null
  }
}