OpenSearch Security Plugin, Hostname Verification Regression, GHSA-x5hg-x4gv-j98m (Low)

Listen to this Post

A regression introduced in OpenSearch 2.18.0 breaks the `plugins.security.ssl.transport.enforce_hostname_verification` setting. When this setting is enabled, OpenSearch fails to verify that the hostname in a connecting node’s TLS certificate matches the actual hostname. The issue arises from a logic flaw in the TLS hostname validation routine, which was inadvertently skipped during the 2.18.0 code merge. Consequently, a node with a valid certificate signed by the cluster’s trusted CA can join the cluster even if its certificate lacks the correct Subject Alternative Name (SAN) for the intended host. This weakness persists through OpenSearch versions 2.18.0 up to 2.19.3 (and 3.0.0 through 3.2.x). Standard certificate chain validation remains intact, but the extra hostname check – intended to prevent man‑in‑the‑middle attacks – is completely ignored. The regression does not affect earlier versions (2.17.x and below) or fixed versions 2.19.4 and 3.3.0. Administrators who rely on hostname verification for node‑to‑node security are unprotected until they upgrade or apply the `plugins.security.nodes_dn` workaround. The issue is tracked as low severity because it still requires a valid certificate signed by the cluster’s CA, but it significantly weakens transport‑layer security.

Platform: OpenSearch Security Plugin
Version: 2.18.0‑2.19.3 & 3.0.0‑3.2.x
Vulnerability : Hostname verification regression
Severity: Low
date: 2026‑04‑30
Prediction: Patches available 2.19.4/3.3.0

Analytics under What Undercode Say

Check current OpenSearch version
curl -s -X GET "https://localhost:9200" -k
Verify hostname verification setting in opensearch.yml
grep -i "plugins.security.ssl.transport.enforce_hostname_verification" /etc/opensearch/opensearch.yml
Enable hostname verification (if not already set)
echo 'plugins.security.ssl.transport.enforce_hostname_verification: true' >> /etc/opensearch/opensearch.yml
Restart OpenSearch for changes to take effect
systemctl restart opensearch
List cluster nodes and check for unexpected members
curl -s -X GET "https://localhost:9200/_cat/nodes?v" -k
Test TLS connection with a mismatched hostname (simulating attack)
openssl s_client -connect malicious-node:9300 -servername fakehost

Exploit

An attacker who obtains a certificate signed by the cluster’s trusted CA can present that certificate during node‑to‑node handshake. Because OpenSearch does not enforce hostname verification, the attacker’s node is accepted into the cluster even if its certificate’s SAN does not match the expected hostname. The attacker can then query data, index documents, or escalate privileges depending on the node’s role.

Protection from this CVE

  • Upgrade to OpenSearch 2.19.4 or 3.3.0 (or later).
  • If an immediate upgrade is not possible, enforce stricter `plugins.security.nodes_dn` values to limit which certificates are trusted.
  • Monitor cluster membership logs for unexpected node joins.

Impact

Clusters running affected versions lose the intended protection of hostname verification. An adversary with a valid but mis‑issued certificate can impersonate a legitimate node, leading to unauthorized data access, cluster destabilization, or privilege escalation. The vulnerability does not bypass certificate chain validation, but it removes a critical defence against certificate‑based impersonation attacks.

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top