Skip to content

fix(xmpp): Enforce mandatory TLS during in-band registration - #2209

Merged
jubalh merged 1 commit into
masterfrom
tls
Aug 28, 2026
Merged

fix(xmpp): Enforce mandatory TLS during in-band registration#2209
jubalh merged 1 commit into
masterfrom
tls

Conversation

@jubalh

@jubalh jubalh commented Aug 28, 2026

Copy link
Copy Markdown
Member

Profanitys in-band account registration path can continue over a raw, unsecured XMPP stream even when the caller selects a mandatory TLS policy. A peer that advertises jabber:iq:register but omits starttls could cause the registration feature handler to send a registration IQ before TLS is negotiated, exposing user credentials in cleartext.

This vulnerability exists because _register_handle_features only attempted STARTTLS if the incoming features stanza explicitly included a <starttls> child.

If that child was absent, the handler immediately checked for registration support and sent the initial registration IQ without verifying whether TLS was mandatory.

Profanitys in-band account registration path can continue over a raw,
unsecured XMPP stream even when the caller selects a mandatory TLS
policy. A peer that advertises `jabber:iq:register` but omits `starttls`
could cause the registration feature handler to send a registration IQ
before TLS is negotiated, exposing user credentials in cleartext.

This vulnerability exists because `_register_handle_features` only
attempted STARTTLS if the incoming features stanza explicitly included
a `<starttls>` child.

If that child was absent, the handler immediately checked for
registration support and sent the initial registration IQ without
verifying whether TLS was mandatory.

Reported-by: Jiho Kim <jkim4050@gatech.edu>
Reported-by: Team Atlanta
Signed-off-by: Michael Vetter <jubalh@iodoru.org>
@jubalh jubalh added this to the next milestone Aug 28, 2026
@jubalh jubalh self-assigned this Aug 28, 2026
@jubalh
jubalh merged commit 083d217 into master Aug 28, 2026
12 checks passed
@jubalh
jubalh deleted the tls branch August 28, 2026 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants