You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug PulsarProperties.java defaults enableTlsHostnameVerification to false, meaning TLS connections between the Pulsar client and broker accept any valid certificate regardless of hostname mismatch. An attacker with network access can perform a man-in-the-middle attack using a legitimate certificate for a different domain.
An attacker intercepts the TLS connection (e.g., ARP spoofing, DNS poisoning) and presents a valid TLS certificate for attacker.com (obtained from a public CA).
The Pulsar client:
Checks CA trust: PASS (the attacker's cert is from a valid CA)
Checks hostname: SKIPPED (verification disabled)
Connection accepted
Expected behaviour
The default for enableTlsHostnameVerification should be true. The auto-configuration logic should enable hostname verification by default and only disable it when explicitly configured:
Describe the bug
PulsarProperties.javadefaultsenableTlsHostnameVerificationtofalse, meaning TLS connections between the Pulsar client and broker accept any valid certificate regardless of hostname mismatch. An attacker with network access can perform a man-in-the-middle attack using a legitimate certificate for a different domain.To Reproduce
Steps to reproduce the behaviour:
An attacker intercepts the TLS connection (e.g., ARP spoofing, DNS poisoning) and presents a valid TLS certificate for
attacker.com(obtained from a public CA).The Pulsar client:
Expected behaviour
The default for
enableTlsHostnameVerificationshould betrue. The auto-configuration logic should enable hostname verification by default and only disable it when explicitly configured:Additional context
service-urlis also attacker-controlled