---
id: "CVE-2026-101296"
kind: "vulnerability"
aliases: ["CVE-2026-101296"]
title: "Apache Tomcat: JNDI realm with non-GSSAPI SASL lets attackers skip password check"
severity: "critical"
cvss: 9.1
epss: null
exploited: false
status: "resolved"
category: "runtime"
products: [{"name": "Apache Tomcat 11", "fixed": ["11.0.27"], "affected": ">= 11.0.0-M1, <= 11.0.26", "ecosystem": "maven"}, {"name": "Apache Tomcat 10.1", "fixed": ["10.1.61"], "affected": ">= 10.1.0-M1, <= 10.1.60", "ecosystem": "maven"}, {"name": "Apache Tomcat 9", "fixed": ["9.0.123"], "affected": ">= 9.0.0.M1, <= 9.0.122", "ecosystem": "maven"}, {"name": "Apache Tomcat 8.5", "fixed": [], "affected": ">= 8.5.0, <= 8.5.100 (EOL)", "ecosystem": "maven"}]
ecosystems: []
tags: ["java", "jndi-realm", "runtime", "self-hosted", "tomcat"]
not_affected_if: ["gssapi-only", "managed-hosting", "no-jndi-realm"]
published_at: "2026-10-20T14:16:54+00:00"
first_seen_at: "2026-10-23T21:57:20+00:00"
updated_at: "2026-10-23T23:20:30+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-101296", "first_seen_at": "2026-10-23T21:57:20+00:00"}, {"source": "analyst", "url": null, "first_seen_at": "2026-10-23T23:20:30+00:00"}]
---

# Apache Tomcat: JNDI realm with non-GSSAPI SASL lets attackers skip password check

When Tomcat's JNDI realm uses a SASL mechanism other than GSSAPI, the authentication step can be skipped. An attacker can log in without the correct password.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- maven:Apache Tomcat 11 affected >= 11.0.0-M1, <= 11.0.26 fixed 11.0.27
- maven:Apache Tomcat 10.1 affected >= 10.1.0-M1, <= 10.1.60 fixed 10.1.61
- maven:Apache Tomcat 9 affected >= 9.0.0.M1, <= 9.0.122 fixed 9.0.123
- maven:Apache Tomcat 8.5 affected >= 8.5.0, <= 8.5.100 (EOL) fixed ?

## How to check

Only affects apps that authenticate through a JNDIRealm using a non-GSSAPI SASL mechanism. Grep conf/server.xml and conf/context.xml for <Realm className="org.apache.catalina.realm.JNDIRealm" and check whether a SASL authentication mechanism is set (e.g. DIGEST-MD5, EXTERNAL). Run catalina.sh version (or bin/version.bat) and compare with the affected ranges.

## Fix

Upgrade to Tomcat 11.0.27, 10.1.61 or 9.0.123. 8.5.x and 7.0.x are EOL and affected with no fix, so migrate. Until upgraded, stop using the JNDIRealm with non-GSSAPI SASL, or use GSSAPI or plain bind authentication.

## Timeline

- 2026-10-23T21:57:20+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-101296
- 2026-10-23T23:20:30+00:00 analyst — Read Tomcat 11 security page (Apache rates it Important; fix commit e43453fc; reported 14 Sep, public 20 Oct 2026) plus NVD text. Social search not run. 10.1/9 pages not read; their versions come from the NVD text. No exploitation or PoC found.

## Documents

- [advisory] Apache Tomcat 11.x vulnerabilities (CVE-2026-101296, fixed in 11.0.27) https://tomcat.apache.org/security-11.html
- [describes] NVD CVE-2026-101296 https://nvd.nist.gov/vuln/detail/CVE-2026-101296

## From the sources

A missing critical step in authentication vulnerability in Apache Tomcat when the JNDI realm was configured with with a non GSSAPI SASL authentication mechanism allowed attackers to authenticate without providing the correct password.



This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.26, from 10.1.0-M1 through 10.1.60, from 9.0.0.M1 through 9.0.122.



The following versions were EOL at the time the CVE was created but are known to be affected: from 8.5.0 through 8.5.100, from 7.0.0 through 7.0.109. Other unsupported versions may also be affected.



Users are recommended to upgrade to version 11.0.27, 10.1.61 or 9.0.123, which fix the issue.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
