CVE Vulnerabilities

CVE-2021-3939

Release of Invalid Pointer or Reference

Published: Nov 17, 2021 | Modified: Jun 12, 2023
CVSS 3.x
7.8
HIGH
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
7.2 HIGH
AV:L/AC:L/Au:N/C:C/I:C/A:C
RedHat/V2
RedHat/V3
Ubuntu

Ubuntu-specific modifications to accountsservice (in patch file debian/patches/0010-set-language.patch) caused the fallback_locale variable, pointing to static storage, to be freed, in the user_change_language_authorized_cb function. This is reachable via the SetLanguage dbus function. This is fixed in versions 0.6.55-0ubuntu12~20.04.5, 0.6.55-0ubuntu13.3, 0.6.55-0ubuntu14.1.

Weakness

The product attempts to return a memory resource to the system, but it calls the wrong release function or calls the appropriate release function incorrectly.

Affected Software

Name Vendor Start Version End Version
Accountsservice Canonical 0.6.55-0ubuntu12~20.04 (including) 0.6.55-0ubuntu12~20.05 (excluding)
Accountsservice Canonical 0.6.55-0ubuntu13 (including) 0.6.55-0ubuntu13.3 (excluding)
Accountsservice Canonical 0.6.55-0ubuntu14 (including) 0.6.55-0ubuntu14.1 (excluding)

Extended Description

This weakness can take several forms, such as:

Potential Mitigations

  • Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
  • For example, glibc in Linux provides protection against free of invalid pointers.

References