Libtar UAF in tar_close() after freeing t causes memory corruption
CVE-2021-33640 Published on December 19, 2022

After tar_close(), libtar.c releases the memory pointed to by pointer t. After tar_close() is called in the list() function, it continues to use pointer t: free_longlink_longname(t->th_buf) . As a result, the released memory is used (use-after-free).

Vendor Advisory Vendor Advisory NVD

Vulnerability Analysis

CVE-2021-33640 is exploitable with local system access, and does not require authorization privileges or user interaction. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to have no impact on confidentiality and integrity, and a high impact on availability.

Attack Vector:
LOCAL
Attack Complexity:
LOW
Privileges Required:
NONE
User Interaction:
NONE
Scope:
UNCHANGED
Confidentiality Impact:
NONE
Integrity Impact:
NONE
Availability Impact:
HIGH

Weakness Type

What is a Dangling pointer Vulnerability?

Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code.

CVE-2021-33640 has been classified to as a Dangling pointer vulnerability or weakness.


Products Associated with CVE-2021-33640

You can be notified by email with stack.watch whenever vulnerabilities like CVE-2021-33640 are published in these products:

 
 
 

Affected Versions

openEuler 22.03 LTS: openEuler 20.03 LTS SP1: openEuler 20.03 LTS SP3:

Exploit Probability

EPSS
0.18%
Percentile
39.91%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.