CVE-2021-43860 json
Permissions granted to applications can be hidden from the user at install time
published 2022-01-12 4 y ago modified 2026-06-17 4 mo ago also EUVD-2021-30724
- cvss
- 8.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.4%
- EPSS 1.4% chance of exploitation in 30 days, percentile 73%
- public exploits
- 0
- none known
Summary
Flatpak is a Linux application sandboxing and distribution framework. Prior to versions 1.12.3 and 1.10.6, Flatpak doesn't properly validate that the permissions displayed to the user for an app at install time match the actual permissions granted to the app at runtime, in the case that there's a null byte in the metadata file of an app. Therefore apps can grant themselves permissions without the consent of the user. Flatpak shows permissions to the user during install by reading them from the "xa.metadata" key in the commit metadata. This cannot contain a null terminator, because it is an untrusted GVariant. Flatpak compares these permissions to the *actual* metadata, from the "metadata" file to ensure it wasn't lied to. However, the actual metadata contents are loaded in several places where they are read as simple C-style strings. That means that, if the metadata file includes a null terminator, only the content of the file from *before* the terminator gets compared to xa.metadata. Thus, any permissions that appear in the metadata file after a null terminator are applied at runtime but not shown to the user. So maliciously crafted apps can give themselves hidden permissions. Users who have Flatpaks installed from untrusted sources are at risk in case the Flatpak has a maliciously crafted metadata file, either initially or in an update. This issue is patched in versions 1.12.3 and 1.10.6. As a workaround, users can manually check the permissions of installed apps by checking the metadata file or the xa.metadata key on the commit metadata.
Patch / fix
- flatpak flatpak 1.10.6
- flatpak Debian 14, Debian 13, Debian 12 1.12.3-1
debian advisories DEBIAN-CVE-2021-43860
- flatpak RHEL 8 1.8.7-1.el8
- flatpak-libs RHEL 8 1.8.7-1.el8
- flatpak-selinux RHEL 8 1.8.7-1.el8
- flatpak-session-helper RHEL 8 1.8.7-1.el8
red hat advisories RHSA-2022:1792
- flatpak SLES for SAP 15 SP1, SLES 15 SP1-LTSS, SLES 15 SP1-BCL +3 more 1.2.3-150100.4.8.1
- flatpak SLES for SAP 15 SP2, SLES 15 SP2-LTSS, SLES 15 SP2-BCL +8 more 1.10.7-4.12.1
suse advisories SUSE-SU-2022:3284-1SUSE-SU-2022:0712-1
- flatpak openSUSE Tumbleweed 1.12.3-1.1
- flatpak openSUSE Leap 15.3 1.10.7-4.12.1
opensuse advisories openSUSE-SU-2024:11740-1openSUSE-SU-2022:0712-1
- flatpak AlmaLinux 8 1.8.7-1.el8
- flatpak-libs AlmaLinux 8 1.8.7-1.el8
- flatpak-selinux AlmaLinux 8 1.8.7-1.el8
- flatpak-session-helper AlmaLinux 8 1.8.7-1.el8
almalinux advisories ALSA-2022:1792
- flatpak Rocky Linux 8 1.8.7-1.el8
rocky linux advisories RLSA-2022:1792
- flatpak Alpine 3.24, Alpine 3.23, Alpine 3.22 +7 more 1.12.3-r0
alpine advisories ALPINE-CVE-2021-43860
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/flatpak/flatpak@54ec1a4 commit
- github.com/flatpak/flatpak@65cbfac commit
- github.com/flatpak/flatpak@93357d3 commit
- github.com/flatpak/flatpak@ba818f5 commit
- github.com/flatpak/flatpak@d9a8f9d commit
- github.com/flatpak/flatpak/releases/tag/1.10.6 release
- github.com/flatpak/flatpak/releases/tag/1.12.3 release
- github.com/flatpak/flatpak/security/advisories/GHSA-qpjc-vq3c-572j advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-43860 updated cvss 8.2
flatpak: Permissions granted to applications can be hidden from the user at install time
-
Red Hat Enterprise Linux AppStream (v. 8) flatpak 1.8.7-1.el8, flatpak-libs 1.8.7-1.el8, flatpak-selinux 1.8.7-1.el8, flatpak-session-helper 1.8.7-1.el8 Red Hat Enterprise Linux CRB (v. 8) flatpak 1.8.7-1.el8, flatpak-session-helper 1.8.7-1.el8fixed: vendor fix RHSA-2022:1792
-
Red Hat Enterprise Linux 7 flatpak, flatpak-libs, flatpak-builder Red Hat Enterprise Linux 9 flatpak, flatpak-libs, flatpak-selinux, flatpak-session-helpernot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
1.44% chance of exploitation in the next 30 days, higher than 73% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.2 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
| NVD | 3.1 | 8.6 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H |
| NVD | 2.0 | 6.8 | AV:N/AC:M/Au:N/C:P/I:P/A:P |
Affected products
- flatpak flatpak
Classification
References
-
github.com
/flatpak/flatpak/commit/54ec1a482dfc668127eaae57f135e6a8e0bc52da
patch, third-party-advisory
-
github.com
/flatpak/flatpak/commit/65cbfac982cb1c83993a9e19aa424daee8e9f042
patch, third-party-advisory
-
github.com
/flatpak/flatpak/commit/93357d357119093804df05acc32ff335839c6451
patch, third-party-advisory
-
github.com
/flatpak/flatpak/commit/ba818f504c926baaf6e362be8159cfacf994310e
patch, third-party-advisory
-
github.com
/flatpak/flatpak/commit/d9a8f9d8ccc0b7c1135d0ecde006a75d25f66aee
patch, third-party-advisory
-
github.com
/flatpak/flatpak/security/advisories/GHSA-qpjc-vq3c-572j
patch, third-party-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/APFTBYGJJVJPFVHRXUW5PII5XOAFI4KH/
vendor-advisory
-
debian.org
/security/2022/dsa-5049
vendor-advisory, third-party-advisory
-
security.gentoo.org
/glsa/202312-12
vendor-advisory
-
github.com
/flatpak/flatpak/releases/tag/1.10.6
release-notes, third-party-advisory
-
github.com
/flatpak/flatpak/releases/tag/1.12.3
release-notes, third-party-advisory
Sources
- CVE List CVE-2021-43860
- NVD CVE-2021-43860
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.