RubySec

Providing security resources for the Ruby community

GHSA-cx24-f932-rr55 (rubyntlm): NTLMv2 authentication bypass - Type3#password? ignores its password argument and verifies every message against the empty password

NTLMv2 authentication bypass - Type3#password? ignores its password argument and verifies every message against the empty password

Published: September 09, 2026

SECURITY IDENTIFIERS

GEM

rubyntlm

UNAFFECTED VERSIONS

< 0.5.0

PATCHED VERSIONS

>= 0.6.6

DESCRIPTION

Type3#password? ignores its password argument on the NTLMv2 path and verifies the message against a blank password instead.

An application using password? to check NTLMv2 credentials will accept any client that sends an empty password for a username it knows, and will reject that account's real password. Knowing a valid username is enough to authenticate as that user.

Impact

Authentication bypass (CWE-303). An application verifying NTLMv2 credentials with Type3#password? can be authenticated to by anyone who knows a valid username. The application doesn't have to misuse the API — password? is public, documented, and the only server-side check the gem offers.

RELATED