OpenBSD fixed a high-severity authentication bypass in its PPP stack after researchers disclosed that the bug had existed since the original sppp code import from FreeBSD in 1999. The flaw affects sppp_pap_input() and all OpenBSD releases through 7.6 when the system is configured as a PAP authenticator on the PPPoE data path. By trusting attacker-controlled name_len and passwd_len values in bcmp() comparisons, the code could accept zero-length credentials as valid because a zero-length bcmp() returns success, allowing remote attackers to authenticate without legitimate credentials.
The disclosure also described a secondary kernel heap over-read caused when a supplied username length exceeds the allocated size of the stored credential, a condition introduced after credential fields became dynamically allocated in 2009. Researchers said the bug could let an attacker intercept or read PPPoE traffic and could also allow a rogue PPPoE server to impersonate a legitimate server during mutual authentication. OpenBSD committed a fix to -current on 2026-06-14, and a proof of concept reportedly showed successful PAP authentication with empty credentials followed by establishment of a full network-layer link.

Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
4 events from the most recent confirmed update back to the earliest known activity.
OpenBSD committed a fix to -current for the high-severity sppp_pap_input() authentication bypass on 2026-06-14. The flaw affected all versions through 7.6 and allowed zero-length credentials to authenticate successfully due to attacker-controlled length values being used in bcmp() comparisons.
The vulnerability was publicly disclosed with technical details describing the PAP null-auth weakness, affected OpenBSD versions, PPPoE reachability, and a Python proof of concept that successfully authenticated with empty credentials and established a network-layer link.
A 2009 change that moved credential fields to dynamic allocation enabled a secondary kernel heap over-read condition in the same code path when a supplied PAP name length exceeded the allocated stored credential size.
The vulnerable comparison pattern in OpenBSD's PPP stack originated when sppp code was imported from FreeBSD in July 1999, introducing the PAP authentication bypass condition.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
7 references tracked. Mallory keeps watching after this page renders.
securityonline.info
Open sourcecybersecuritynews.com
Open sourceblog.argus-systems.ai
Open sourcereddit.com
Open sourcegithub.com
Open sourceseclists.org
Open sourceseclists.org
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.