# CVE-2019-19906: Memory corruption in n/a

> An off-by-one error in Cyrus SASL allows unauthenticated remote attackers to cause a denial of service in OpenLDAP via malformed packets.

- **Severity:** High 7.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 19 Dec 2019
- **Updated:** 14 Oct 2026
- **Also known as:** ALPINE-CVE-2019-19906, ALSA-2020:4497, AZL-6369, CLEANSTART-2024-GV41278, CLSA-2025-1758920770, CLSA-2026-1778174671, CLSA-2026-1778175067, DEBIAN-CVE-2019-19906, DLA-2044-1, DSA-4591-1, GHSA-vc8v-7256-2pfq, MGASA-2020-0011, RHSA-2020:4497, RLSA-2020:4497, SUSE-SU-2020:14579-1, SUSE-SU-2020:3939-1, SUSE-SU-2022:3549-1, UBUNTU-CVE-2019-19906, USN-4256-1

## What is CVE-2019-19906?

CVE-2019-19906 is a high-severity memory corruption vulnerability in Apple Ipados, published on 19 Dec 2019. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

cyrus-sasl (aka Cyrus SASL) 2.1.27 has an out-of-bounds write leading to unauthenticated remote denial-of-service in OpenLDAP via a malformed LDAP packet. The OpenLDAP crash is ultimately caused by an off-by-one error in _sasl_add_string in common.c in cyrus-sasl.

Weakness: CWE-787 (Out-of-bounds Write), CWE-193 (Off-by-one Error)

## Which versions are affected by CVE-2019-19906?

It affects 19 products.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `cyrus-sasl-sql` | AlmaLinux:8 | All versions | 2.1.27-5.el8 |
| `cyrus-sasl-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-debugsource` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-devel-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-gs2-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-gssapi-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-ldap-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-lib-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-md5-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-ntlm-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-plain-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-scram-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-sql` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-sql-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-debugsource` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-devel` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-devel-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-gs2` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-gs2-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-gssapi` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-gssapi-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-ldap` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-ldap-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-lib` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-lib-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-md5` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-md5-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-ntlm` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-ntlm-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-plain` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-plain-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-scram` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-scram-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl-sql-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl` | Rocky Linux:8 | All versions | 0:2.1.27-5.el8 |
| `cyrus-sasl` | SUSE:Enterprise Storage 5 | All versions | 2.1.26-8.13.1 |
| `cyrus-sasl` | SUSE:Enterprise Storage 6 | All versions | 2.1.26-150000.5.13.1 |
| `cyrus-sasl-saslauthd` | SUSE:Enterprise Storage 6 | All versions | 2.1.26-150000.5.13.1 |

Products: Apache Bookkeeper, Apple Ipados, Apple Iphone Os, Apple Mac Os X, Canonical Ubuntu Linux, Cyrusimap Cyrus-Sasl, Debian Debian Linux, Fedoraproject Fedora, Redhat Enterprise Linux, Redhat Enterprise Linux Eus, Redhat Enterprise Linux for Ibm Z Systems, Redhat Enterprise Linux for Ibm Z Systems Eus, Redhat Enterprise Linux for Power Little Endian, Redhat Enterprise Linux for Power Little Endian Eus, Redhat Enterprise Linux Server Aus, Redhat Enterprise Linux Server for Power Little Endian Update Services for Sap Solutions, Redhat Enterprise Linux Server Tus, Redhat Enterprise Linux Server Update Services for Sap Solutions, Redhat Jboss Enterprise Web Server.

## How do I fix CVE-2019-19906?

Apply the vendor's patch.

## Is CVE-2019-19906 being exploited?

There is no known exploitation of CVE-2019-19906 in the wild and no public exploit code.

## Other vulnerabilities in Apple Ipados

- [CVE-2019-17571](https://insights.sbomify.com/CVE-2019-17571/): Deserialization of Untrusted Data in Log4j (critical 9.8)
- [CVE-2017-6891](https://insights.sbomify.com/CVE-2017-6891/): Memory corruption in GnuTLS libtasn1 (high 8.8)
- [CVE-2020-36230](https://insights.sbomify.com/CVE-2020-36230/): A flaw was discovered in OpenLDAP before 2.4.57 leading in an assertion failure in slapd in the X.509 DN parsing in decode.c ber_next_elemen (high 7.5)
- [CVE-2020-23922](https://insights.sbomify.com/CVE-2020-23922/): Memory corruption in n/a (high 7.1)
- [CVE-2022-32531](https://insights.sbomify.com/CVE-2022-32531/): Apache BookKeeper: Java Client Uses Connection to Host that Failed Hostname Verification (medium 5.9)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2019-19906 and fix it if it is affected.

What it is: CVE-2019-19906 is a high-severity memory corruption vulnerability in Apple Ipados, published on 19 Dec 2019. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2019-19906 in the wild and no public exploit code.

Affected product: Apple Ipados. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2019-19906/ (Markdown: https://insights.sbomify.com/CVE-2019-19906/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2019-19906
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2019-19906
- OSV: https://osv.dev/vulnerability/CVE-2019-19906

---
From sbomify Insights: https://insights.sbomify.com/CVE-2019-19906/
Summaries are generated and may contain mistakes; the official description above is the record.
