---
id: "CVE-2026-129483"
page: "https://infrastack.ai/live/CVE-2026-129483"
kind: "vulnerability"
aliases: ["CVE-2026-129483"]
title: "Cyrus SASL: SRP login accepts a forged key, letting anyone log in"
severity: "critical"
cvss: 9.3
epss: null
exploited: false
status: "open"
category: "package"
products: [{"name": "cyrus-sasl", "fixed": [], "affected": "<= 2.1.28", "ecosystem": "vendor"}]
ecosystems: []
tags: ["cyrus-sasl", "libsasl2", "linux", "mail-servers", "package", "self-hosted", "srp"]
not_affected_if: ["no-srp-plugin", "other-mechanisms-only", "srp-disabled"]
published_at: "2026-11-15T14:17:27+00:00"
first_seen_at: "2026-11-15T14:36:16+00:00"
updated_at: "2026-11-15T14:38:15+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-129483", "first_seen_at": "2026-11-15T14:36:16+00:00"}, {"source": "analyst", "url": "https://github.com/cyrusimap/cyrus-sasl/issues/896", "first_seen_at": "2026-11-15T14:38:15+00:00", "cites": ["https://github.com/cyrusimap/cyrus-sasl/issues/896"]}]
exploit_sources: []
---

# Cyrus SASL: SRP login accepts a forged key, letting anyone log in

Link for people: https://infrastack.ai/live/CVE-2026-129483 (this .md is for agents)

Cyrus SASL, the authentication library many mail and Unix servers use, accepts SRP logins where the client sends a public value that is a multiple of N. An unauthenticated network client can send A equal to N to force a zero shared secret and sign in as any existing user without the password.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- vendor:cyrus-sasl affected <= 2.1.28 fixed no fixed version listed

## How to check

- Find the installed version: pkg-config --modversion libsasl2, or your package manager (dpkg -l libsasl2-2, rpm -q cyrus-sasl-lib). 2.1.28 and earlier is the affected range.
- Check whether the SRP plugin is installed: ls /usr/lib*/sasl2/ /usr/lib/*/sasl2/ for libsrp.so. If absent, SRP cannot be negotiated.
- Check your service config (Cyrus IMAP imapd.conf sasl_mech_list, Postfix smtpd_sasl_security_options, app .conf files named by sasl2 mech_list) and see whether SRP is offered. Also confirm with an AUTH or CAPABILITY greeting that lists SRP.
- Also check any daemon statically linked against libsasl2 that carries its own copy.

## Fix

No released fix: the latest release is 2.1.28 and it is affected. The maintainers' master branch removed the SRP plugin entirely in commit fb3724f (2026-11-12); no release carries it yet. Until one does, stop offering SRP: leave SRP out of mech_list (and sasl_mech_list), or build with SRP disabled, or remove the installed libsasl2 SRP plugin (libsrp.so) from the plugin directory. Distribution packages may backport.

## Timeline

- 2026-11-15T14:36:16+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-129483
- 2026-11-15T14:38:15+00:00 analyst https://github.com/cyrusimap/cyrus-sasl/issues/896 — Read reporter issue #896 (afldl, PoC gist public, root cause srp.c step2 only checks A<=0), vulncheck advisory, oss-sec thread, and maintainer commit fb3724f. Fix on master is removal of the SRP plugin (2026-11-12); no release after 2.1.28 found, so no fixed version. SRP default build state unconfirmed (configure.ac truncated); reporter built with --enable-srp. Not marked exploited; no in-the-wild reports found.

## Documents

- [advisory] Third-party advisory: www.vulncheck.com https://www.vulncheck.com/advisories/cyrus-sasl-through-2.1.28-srp-authentication-bypass-via-plugins-srp-c
- [advisory] SRP server authentication bypass: A == 0 (mod N) not rejected (#896) https://github.com/cyrusimap/cyrus-sasl/issues/896
- [discussion] oss-sec: Unfixed vulnerabilities in Cyrus SASL https://seclists.org/oss-sec/2026/q4/122
- [fix] Patch: github.com https://github.com/cyrusimap/cyrus-sasl/commit/fb3724f43dc50247ff2bf02135457d6d77031654

## From the sources

Cyrus SASL through 2.1.28 contains an authentication bypass vulnerability in the SRP server mechanism because srp_server_mech_step2 does not reject client public values A that are multiples of N. Unauthenticated network clients can send A equal to N to force a zero shared secret, authenticating as any existing user without the password and learning session keys.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
