GNOME libxml2 up to 2.9.10 libxml2/entities.c xmlEncodeEntitiesInternal buffer overflow
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 8.4 | $0-$5k | 0.00 |
Summary
A vulnerability was found in GNOME libxml2 up to 2.9.10. It has been classified as critical. This issue affects the function xmlEncodeEntitiesInternal of the file libxml2/entities.c. Performing a manipulation results in buffer overflow.
This vulnerability is known as CVE-2020-24977. Remote exploitation of the attack is possible. No exploit is available.
Applying a patch is the recommended action to fix this issue.
Details
A vulnerability, which was classified as critical, was found in GNOME libxml2 up to 2.9.10 (Document Processing Software). This affects the function xmlEncodeEntitiesInternal of the file libxml2/entities.c. The manipulation with an unknown input leads to a buffer overflow vulnerability. CWE is classifying the issue as CWE-120. The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer, leading to a buffer overflow. This is going to have an impact on confidentiality, integrity, and availability. The summary by CVE is:
GNOME project libxml2 v2.9.10 and earlier have a global Buffer Overflow vulnerability in xmlEncodeEntitiesInternal at libxml2/entities.c. The issue has been fixed in commit 8e7c20a1 (20910-GITv2.9.10-103-g8e7c20a1).
The weakness was published 09/04/2020 by Suhwan Song as xmllint: global-buffer-overflow in xmlEncodeEntitiesInternal as confirmed issue (Website). The advisory is shared at gitlab.gnome.org. The public release has been coordinated with GNOME. This vulnerability is uniquely identified as CVE-2020-24977 since 08/28/2020. It is possible to initiate the attack remotely. No form of authentication is needed for exploitation. Technical details are known, but no exploit is available. The reason for this vulnerability is this part of code:
if (*cur < 0xC0) {The vulnerability scanner Nessus provides a plugin with the ID 236689 (Alibaba Cloud Linux 3 : 0018: libxml2 (ALINUX3-SA-2022:0018)), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 20910-GITv2.9.10-103-g8e7c20a1 eliminates this vulnerability. Applying the patch 8e7c20a1 is able to eliminate this problem. The best possible mitigation is suggested to be patching the affected component. The vulnerability will be addressed with the following lines of code:
if (((cur[0] & 0xC0) != 0xC0) ||
((cur[1] & 0xC0) != 0x80) ||
(((cur[0] & 0xE0) == 0xE0) && ((cur[2] & 0xC0) != 0x80)) ||
(((cur[0] & 0xF0) == 0xF0) && ((cur[3] & 0xC0) != 0x80)) ||
(((cur[0] & 0xF8) == 0xF8))) {The vulnerability is also documented in the vulnerability database at Tenable (236689). If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Product
Type
Vendor
Name
Version
License
Website
- Vendor: https://www.gnome.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.5VulDB Meta Temp Score: 8.4
VulDB Base Score: 7.3
VulDB Temp Score: 7.0
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 9.8
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Buffer overflowCWE: CWE-120 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 236689
Nessus Name: Alibaba Cloud Linux 3 : 0018: libxml2 (ALINUX3-SA-2022:0018)
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
0-Day Time: 🔍
Upgrade: libxml2 20910-GITv2.9.10-103-g8e7c20a1
Patch: 8e7c20a1
Timeline
08/28/2020 🔍09/04/2020 🔍
09/04/2020 🔍
05/17/2025 🔍
Sources
Vendor: gnome.orgAdvisory: xmllint: global-buffer-overflow in xmlEncodeEntitiesInternal
Researcher: Suhwan Song
Status: Confirmed
Confirmation: 🔍
Coordinated: 🔍
CVE: CVE-2020-24977 (🔍)
GCVE (CVE): GCVE-0-2020-24977
GCVE (VulDB): GCVE-100-160725
Entry
Created: 09/04/2020 13:36Updated: 05/17/2025 18:51
Changes: 09/04/2020 13:36 (48), 09/04/2020 13:41 (18), 11/11/2020 08:15 (1), 11/12/2020 17:34 (1), 05/17/2025 18:51 (18)
Complete: 🔍
Cache ID: 216::103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
No comments yet. Languages: en.
Please log in to comment.