CVE-2021-28904
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of...
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. If revision is NULL, the operation of strcmp(revision, ext_plugins[u].revision) will lead to a crash.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.5
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. If revision is NULL, the operation of strcmp(revision, ext_plugins[u].revision) will lead to a crash.
- Record
CVE-2021-28904- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-252
- Updated
- 2026-11-02
CVE List No score
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. If revision is NULL, the operation of strcmp(revision, ext_plugins[u].revision) will lead to a crash.
- Record
CVE-2021-28904- Updated
- 2026-11-02
EUVDEUVD-2021-15557 No score
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. If revision is NULL, the operation of strcmp(revision, ext_plugins[u].revision) will lead to a crash.
- Record
EUVD-2021-15557- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-wqxj-4m27-ccp4
7.5
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of...
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. If revision is NULL, the operation of strcmp(revision, ext_plugins[u].revision) will lead to a crash.
- Record
GHSA-wqxj-4m27-ccp4- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-252
- Updated
- 2026-11-02
OSVALPINE-CVE-2021-28904
7.5
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. If revision is NULL, the operation of strcmp(revision, ext_plugins[u].revision) will lead to a crash.
- Record
ALPINE-CVE-2021-28904- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
OSV
7.5
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. If revision is NULL, the operation of strcmp(revision, ext_plugins[u].revision) will lead to a crash.
- Record
CVE-2021-28904- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2021-28904
7.5
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. If revision is NULL, the operation of strcmp(revision, ext_plugins[u].revision) will lead to a crash.
- Record
DEBIAN-CVE-2021-28904- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2021-28904
7.5
In function ext_get_plugin() in libyang <= v1.0.225, it doesn't check whether the value of revision is NULL. If revision is NULL, the operation of strcmp(revision, ext_plugins[u].revision) will lead to a crash.
- Record
UBUNTU-CVE-2021-28904- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVSUSE-SU-2022:3245-1 No score
Security update for libyang
This update for libyang fixes the following issues:
- CVE-2021-28906: Fixed missing check in read_yin_leaf that can lead to DoS (bsc#1186378)
- CVE-2021-28904: Fixed missing check in ext_get_plugin that lead to DoS (bsc#1186376).
- CVE-2021-28903: Fixed stack overflow in lyxml_parse_mem (bsc#1186375).
- CVE-2021-28902: Fixed missing check in read_yin_container that can lead to DoS (bsc#1186374).
- Record
SUSE-SU-2022:3245-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libyangAlpine:v3.13 |
before 1.0.184-r1 | 1.0.184-r1 |
libyangAlpine:v3.14 |
before 1.0.215-r1 | 1.0.215-r1 |
libyangDebian:13 |
before 3.4.2+dfsg-2 | 3.4.2+dfsg-2 |
libyangDebian:14 |
before 3.4.2+dfsg-2 | 3.4.2+dfsg-2 |
libyangSUSE:Linux Enterprise Module for Server Applications 15 SP3 From an advisory covering 4 CVEs |
before 1.0.184-150300.3.6.1 | 1.0.184-150300.3.6.1 |
libyangSUSE:Linux Enterprise Module for Server Applications 15 SP4 From an advisory covering 4 CVEs |
before 1.0.184-150300.3.6.1 | 1.0.184-150300.3.6.1 |
libyangopenSUSE:Leap 15.3 From an advisory covering 4 CVEs |
before 1.0.184-150300.3.6.1 | 1.0.184-150300.3.6.1 |
libyangopenSUSE:Leap 15.4 From an advisory covering 4 CVEs |
before 1.0.184-150300.3.6.1 | 1.0.184-150300.3.6.1 |
libyangUbuntu:20.04:LTS |
All versions, plus listed versions 0.16.105-10.16.105-20.16.105-30.16.105-3build1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected, aliases, references | OSV | |
| 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-2021-28904 is a high vulnerability (CVSS 7.5) in Cesnet Libyang, published May 20, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.41%, the 72nd percentile. Fixed in libyang 1.0.184-r1.
References
github.com/CESNET/libyang/issues/1451
security.gentoo.org/glsa/202107-54
nvd.nist.gov/vuln/detail/CVE-2021-28904
github.com/advisories/GHSA-wqxj-4m27-ccp4
security.alpinelinux.org/vuln/CVE-2021-28904
security-tracker.debian.org/tracker/CVE-2021-28904
Show 11 moreShow less
suse.com/support/update/announcement/2022/suse-su-20223245-1
bugzilla.suse.com/1186374
bugzilla.suse.com/1186375
bugzilla.suse.com/1186376
bugzilla.suse.com/1186378
suse.com/security/cve/CVE-2021-28902
suse.com/security/cve/CVE-2021-28903
suse.com/security/cve/CVE-2021-28904
suse.com/security/cve/CVE-2021-28906
ubuntu.com/security/CVE-2021-28904
cve.org/CVERecord?id=CVE-2021-28904