---
id: CVE-2026-81029
title: >-
  OpenMetadata accepts a caller-supplied post-authentication redirect target and
  appends the issued token to it
summary: >-
  OpenMetadata accepts a caller-supplied post-authentication redirect target and
  appends the issued token to it. SamlLoginServlet reads the callback request
  parameter and stores it in the HTTP session without comparing it against any
  confi…
severity: high
cvss: 8.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N'
cwe:
  - CWE-601
published: '2026-08-26'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T13:42:46.893'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-81029'
references:
  - url: 'https://github.com/open-metadata/OpenMetadata'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/open-metadata/OpenMetadata/blob/1.12.1/openmetadata-service/src/main/java/org/openmetadata/service/security/saml/SamlLoginServlet.java
    label: disclosure@vulncheck.com
  - url: 'https://github.com/open-metadata/OpenMetadata/issues/29662'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/openmetadata-before-2.0.0-jwt-disclosure-via-unvalidated-saml-and-oidc-redirect-uri
    label: disclosure@vulncheck.com
  - url: 'https://github.com/open-metadata/OpenMetadata/issues/29662'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: >-
      https://github.com/open-metadata/OpenMetadata/security/advisories/GHSA-3f34-r7gw-5f28
    label: GitHub Security Advisory (GHSA-3f34-r7gw-5f28)
tags:
  - nvd
  - cve.org
  - exploit-available
epss: 0.00553
epssPercentile: 0.45986
ingestedAt: '2026-09-16T13:56:12.599Z'
vendor: open-metadata
product: OpenMetadata
affected:
  - OpenMetadata < 2.0.0
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-08-26T18:32:33.266884Z'
---

## Overview

OpenMetadata accepts a caller-supplied post-authentication redirect target and appends the issued token to it. SamlLoginServlet reads the callback request parameter and stores it in the HTTP session without comparing it against any configured or registered destination, and the assertion consumer servlet later formats that stored value into a URL carrying the freshly issued JWT together with the account's email and name before sending the redirect. The OIDC and OAuth2 handler follows the same pattern with its own redirect parameter and the issued identity token. A request naming a destination the attacker controls therefore causes the server to deliver a valid token for whoever completes the login to that destination. Because the token authenticates API calls as that account, a user who follows such a link and authenticates hands over control of their account. Version 2.0.0 removes the caller-supplied callback parameter; no 1.x release validates it.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
