CVE-2019-11922
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could...
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
8.1
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
CVE-2019-11922- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-362
- Updated
- 2026-11-02
CVE List No score
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
CVE-2019-11922- Updated
- 2026-11-02
EUVDEUVD-2019-3580 No score
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
EUVD-2019-3580- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-w77f-wv46-4vcx
8.1
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could...
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
GHSA-w77f-wv46-4vcx- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-362
- Updated
- 2026-11-02
OSVALPINE-CVE-2019-11922
8.1
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
ALPINE-CVE-2019-11922- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVBELL-CVE-2019-11922
8.1
CVE-2019-11922 does not affect BellSoft software
- Record
BELL-CVE-2019-11922- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 12 moreShow less
OSV
8.1
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
CVE-2019-11922- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVCVE-2024-14030
8.1
Sereal::Decoder versions from 4.000 through 4.009_002 for Perl embeds a vulnerable version of the Zstandard library
Sereal::Decoder versions from 4.000 through 4.009_002 for Perl embeds a vulnerable version of the Zstandard library.
Sereal::Decoder embeds a version of the Zstandard (zstd) library that is vulnerable to CVE-2019-11922. This is a race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
CVE-2024-14030- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-1395
- Updated
- 2026-11-02
OSVCVE-2024-14031
8.1
Sereal::Encoder versions from 4.000 through 4.009_002 for Perl embeds a vulnerable version of the Zstandard library
Sereal::Encoder versions from 4.000 through 4.009_002 for Perl embeds a vulnerable version of the Zstandard library.
Sereal::Encoder embeds a version of the Zstandard (zstd) library that is vulnerable to CVE-2019-11922. This is a race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
CVE-2024-14031- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-1395
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2019-11922
8.1
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
DEBIAN-CVE-2019-11922- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2019-11922
8.1
A race condition in the one-pass compression functions of Zstandard prior to version 1.3.8 could allow an attacker to write bytes out of bounds if an output buffer smaller than the recommended size was used.
- Record
UBUNTU-CVE-2019-11922- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2019-0257 No score
Updated zstd packages fix security vulnerability
Updated zstd packages fix security vulnerability:
It was discovered that Zstandard incorrectly handled certain inputs. An attacker could possibly use this issue to execute arbitrary code (CVE-2019-11922).
- Record
MGASA-2019-0257- Updated
- 2026-11-02
OSVopenSUSE-SU-2019:1845-1 No score
Security update for zstd
This update for zstd to version 1.4.2 fixes the following issues:
Security issues fixed:
- CVE-2019-11922: Fixed race condition in one-pass compression functions that could allow out of bounds write (boo#1142941).
Non-security issues fixed:
- Added --[no-]compress-literals CLI flag to enable or disable literal compression.
- Added new --rsyncable mode.
- Added handling of -f flag to zstdgrep.
- Added CPU load indicator for each file on -vv mode.
- Changed --no-progress flag to preserve the final summary.
- Added new command --adapt for compressed network piping of data adjusted to the perceived network conditions.
- Record
openSUSE-SU-2019:1845-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2019:1952-1 No score
Security update for zstd
This update for zstd fixes the following issues:
-
Update to version 1.4.2:
- bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696)
- bug: Fix seekable decompression in-memory API by @iburinoc (#1695)
- bug: Close minor memory leak in CLI by @LeeYoung624 (#1701)
- misc: Validate blocks are smaller than size limit by @vivekmig (#1685)
- misc: Restructure source files by @ephiepark (#1679)
-
Update to version 1.4.1:
- bug: Fix data corruption in niche use cases by @terrelln (#1659)
- bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595)
- bug: Fix out of bounds read by @terrelln (#1590)
- perf: Improve decode speed by ~7% @mgrice (#1668)
- perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681)
- perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658)
- perf: Improve compression ratio for small windowLog by @cyan4973 (#1624)
- perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635)
- api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656)
- cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640)
- cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631)
- cli: Restrict read permissions on destination files by @chungy (#1644)
- cli: zstdgrep: handle -f flag by @felixhandte (#1618)
- cli: zstdcat: follow symlinks by @vejnar (#1604)
- doc: Remove extra size limit on compressed blocks by @felixhandte (#1689)
- doc: Fix typo by @yk-tanigawa (#1633)
- doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629)
- build: CMake: support building with LZ4 @leeyoung624 (#1626)
- build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647)
- build: CMake: respect existing uninstall target by @j301scott (#1619)
- build: Make: skip multithread tests when built without support by @michaelforney (#1620)
- build: Make: Fix examples/ test target by @sjnam (#1603)
- build: Meson: rename options out of deprecated namespace by @lzutao (#1665)
- build: Meson: fix build by @lzutao (#1602)
- build: Visual Studio: don't export symbols in static lib by @scharan (#1650)
- build: Visual Studio: fix linking by @absotively (#1639)
- build: Fix MinGW-W64 build by @myzhang1029 (#1600)
- misc: Expand decodecorpus coverage by @ephiepark (#1664)
-
Add baselibs.conf: libarchive gained zstd support and provides -32bit libraries. This means, zstd also needs to provide -32bit libs.
-
Update to new upstream release 1.4.0
- perf: level 1 compression speed was improved
- cli: added --[no-]compress-literals flag to enable or disable literal compression
-
Reword 'real-time' in description by some actual statistics, because 603MB/s (lowest zstd level) is not 'real-time' for quite some applications.
-
zstd 1.3.8:
- better decompression speed on large files (+7%) and cold dictionaries (+15%)
- slightly better compression ratio at high compression modes
- new --rsyncable mode
- support decompression of empty frames into NULL (used to be an error)
- support ZSTD_CLEVEL environment variable
- --no-progress flag, preserving final summary
- various CLI fixes
- fix race condition in one-pass compression functions that could allow out of bounds write (CVE-2019-11922, boo#1142941)
-
zstd 1.3.7:
- fix ratio for dictionary compression at levels 9 and 10
- add man pages for zstdless and zstdgrep
-
includes changes from zstd 1.3.6:
- faster dictionary builder, also the new default for --train
- previous (slower, slightly higher quality) dictionary builder to be selected via --train-cover
- Faster dictionary decompression and compression under memory limits with many dictionaries used simultaneously
- New command --adapt for compressed network piping of data adjusted to the perceived network conditions
-
update to 1.3.5:
- much faster…
- Record
openSUSE-SU-2019:1952-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2019:2008-1 No score
Security update for zstd
This update for zstd fixes the following issues:
-
Update to version 1.4.2:
- bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696)
- bug: Fix seekable decompression in-memory API by @iburinoc (#1695)
- bug: Close minor memory leak in CLI by @LeeYoung624 (#1701)
- misc: Validate blocks are smaller than size limit by @vivekmig (#1685)
- misc: Restructure source files by @ephiepark (#1679)
-
Update to version 1.4.1:
- bug: Fix data corruption in niche use cases by @terrelln (#1659)
- bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595)
- bug: Fix out of bounds read by @terrelln (#1590)
- perf: Improve decode speed by ~7% @mgrice (#1668)
- perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681)
- perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658)
- perf: Improve compression ratio for small windowLog by @cyan4973 (#1624)
- perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635)
- api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656)
- cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640)
- cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631)
- cli: Restrict read permissions on destination files by @chungy (#1644)
- cli: zstdgrep: handle -f flag by @felixhandte (#1618)
- cli: zstdcat: follow symlinks by @vejnar (#1604)
- doc: Remove extra size limit on compressed blocks by @felixhandte (#1689)
- doc: Fix typo by @yk-tanigawa (#1633)
- doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629)
- build: CMake: support building with LZ4 @leeyoung624 (#1626)
- build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647)
- build: CMake: respect existing uninstall target by @j301scott (#1619)
- build: Make: skip multithread tests when built without support by @michaelforney (#1620)
- build: Make: Fix examples/ test target by @sjnam (#1603)
- build: Meson: rename options out of deprecated namespace by @lzutao (#1665)
- build: Meson: fix build by @lzutao (#1602)
- build: Visual Studio: don't export symbols in static lib by @scharan (#1650)
- build: Visual Studio: fix linking by @absotively (#1639)
- build: Fix MinGW-W64 build by @myzhang1029 (#1600)
- misc: Expand decodecorpus coverage by @ephiepark (#1664)
-
Add baselibs.conf: libarchive gained zstd support and provides -32bit libraries. This means, zstd also needs to provide -32bit libs.
-
Update to new upstream release 1.4.0
- perf: level 1 compression speed was improved
- cli: added --[no-]compress-literals flag to enable or disable literal compression
-
Reword 'real-time' in description by some actual statistics, because 603MB/s (lowest zstd level) is not 'real-time' for quite some applications.
-
zstd 1.3.8:
- better decompression speed on large files (+7%) and cold dictionaries (+15%)
- slightly better compression ratio at high compression modes
- new --rsyncable mode
- support decompression of empty frames into NULL (used to be an error)
- support ZSTD_CLEVEL environment variable
- --no-progress flag, preserving final summary
- various CLI fixes
- fix race condition in one-pass compression functions that could allow out of bounds write (CVE-2019-11922, boo#1142941)
-
zstd 1.3.7:
- fix ratio for dictionary compression at levels 9 and 10
- add man pages for zstdless and zstdgrep
-
includes changes from zstd 1.3.6:
- faster dictionary builder, also the new default for --train
- previous (slower, slightly higher quality) dictionary builder to be selected via --train-cover
- Faster dictionary decompression and compression under memory limits with many dictionaries used simultaneously
- New command --adapt for compressed network piping of data adjusted to the perceived network conditions
-
update to 1.3.5:
- much faster…
- Record
openSUSE-SU-2019:2008-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11544-1 No score
libzstd-devel-1.5.0-1.13 on GA media
These are all security issues fixed in the libzstd-devel-1.5.0-1.13 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11544-1- Updated
- 2026-11-02
OSVUSN-4108-1 No score
libzstd vulnerability
It was discovered that Zstandard incorrectly handled certain inputs. An attacker could possibly use this issue to execute arbitrary code.
- Record
USN-4108-1- Updated
- 2026-11-02
OSVUSN-5593-1 No score
libzstd vulnerability
It was discovered that Zstandard incorrectly handled certain inputs. An attacker could possibly use this issue to execute arbitrary code.
- Record
USN-5593-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
zstdAlpine:v3.11 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.12 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.13 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.14 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.15 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.16 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.17 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.18 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.19 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.20 |
before 1.3.8-r0 | 1.3.8-r0 |
Show 15 moreShow less
| Package | Affected | Fixed |
|---|---|---|
zstdAlpine:v3.21 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.22 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.23 |
before 1.3.8-r0 | 1.3.8-r0 |
zstdAlpine:v3.24 |
before 1.3.8-r0 | 1.3.8-r0 |
libzstdDebian:12 |
before 1.3.8+dfsg-2 | 1.3.8+dfsg-2 |
libzstdDebian:13 |
before 1.3.8+dfsg-2 | 1.3.8+dfsg-2 |
libzstdDebian:14 |
before 1.3.8+dfsg-2 | 1.3.8+dfsg-2 |
zstdMageia:6 |
before 1.3.8-1.mga6 | 1.3.8-1.mga6 |
libzstdUbuntu:Pro:16.04:LTS |
before 1.3.1+dfsg-1~ubuntu0.16.04.1+esm2, plus listed versions 0.4.5-10.5.1-11.3.1+dfsg-1~ubuntu0.16.04.11.3.1+dfsg-1~ubuntu0.16.04.1+esm1 |
1.3.1+dfsg-1~ubuntu0.16.04.1+esm2 |
libzstdUbuntu:18.04:LTS |
before 1.3.3+dfsg-2ubuntu1.1, plus listed versions 1.3.1+dfsg-11.3.2+dfsg-11.3.2+dfsg2-11.3.3+dfsg-11.3.3+dfsg-1ubuntu11.3.3+dfsg-2ubuntu1 |
1.3.3+dfsg-2ubuntu1.1 |
zstdopenSUSE:Leap 15.1 |
before 1.4.2-lp151.3.3.1 | 1.4.2-lp151.3.3.1 |
zstdopenSUSE:Leap 15.0 |
before 1.4.2-lp150.2.3.1 | 1.4.2-lp150.2.3.1 |
zstdSUSE:Package Hub 15 |
before 1.4.2-bp151.4.3.1 | 1.4.2-bp151.4.3.1 |
zstdSUSE:Package Hub 15 SP1 |
before 1.4.2-bp151.4.3.1 | 1.4.2-bp151.4.3.1 |
zstdopenSUSE:Tumbleweed |
before 1.5.0-1.13 | 1.5.0-1.13 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-11922 is a high vulnerability (CVSS 8.1) in Facebook Zstandard, published July 25, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.42%, the 72nd percentile. Fixed in zstd 1.3.8-r0.
References
lists.opensuse.org/opensuse-security-announce/2019-08/msg00008.html
lists.opensuse.org/opensuse-security-announce/2019-08/msg00062.html
usn.ubuntu.com/4108-1
lists.opensuse.org/opensuse-security-announce/2019-08/msg00078.html
oracle.com/security-alerts/cpuoct2020.html
facebook.com/security/advisories/cve-2019-11922
Show 27 moreShow less
github.com/facebook/zstd/pull/1404/commits/3e5cdf1b6a85843e991d7d10f6a2567c15580da0
nvd.nist.gov/vuln/detail/CVE-2019-11922
github.com/advisories/GHSA-w77f-wv46-4vcx
security.alpinelinux.org/vuln/CVE-2019-11922
docs.bell-sw.com/security/cves/CVE-2019-11922
cpan.org/modules
github.com/CVEProject/cvelistV5/tree/main/cves/2024/14xxx/CVE-2024-14030.json
metacpan.org/release/YVES/Sereal-Decoder-4.010/changes
nvd.nist.gov/vuln/detail/CVE-2024-14030
cve.org/CVERecord?id=CVE-2019-11922
github.com/Sereal/Sereal
github.com/CVEProject/cvelistV5/tree/main/cves/2024/14xxx/CVE-2024-14031.json
metacpan.org/release/YVES/Sereal-Encoder-4.010/changes
nvd.nist.gov/vuln/detail/CVE-2024-14031
security-tracker.debian.org/tracker/CVE-2019-11922
advisories.mageia.org/MGASA-2019-0257.html
bugs.mageia.org/show_bug.cgi?id=25375
ubuntu.com/security/CVE-2019-11922
ubuntu.com/security/notices/USN-4108-1
ubuntu.com/security/notices/USN-5593-1
lists.opensuse.org/archives/list/[email protected]/thread/QXHXFC7RU7NI42XMFKHE6KI6JEJOMZ3W
bugzilla.suse.com/1082318
bugzilla.suse.com/1133297
bugzilla.suse.com/1142941
suse.com/security/cve/CVE-2019-11922
lists.opensuse.org/archives/list/[email protected]/thread/HT6YNXG36NBKEYPS62NKEGLNJE6LYX7J
lists.opensuse.org/archives/list/[email protected]/thread/K7K2UOXWEY5FAQGWUDI7235YCQ2R5UPH
Left out here: the rest of 2 source descriptions. The JSON record has them.