Flatpak CVE-2026-90616 jest mniej interesujący jako „nowa podatność” niż jako evolution story danych vulnerability intelligence. Pierwotny GitHub Security Advisory GHSA-8688-9x26-hhxj opublikowano 11 sierpnia 2026 i już wtedy opisywał poważny sandbox escape: złośliwa aplikacja przez manipulację symlinkami mogła uzyskać arbitrary read/write do plików hosta i potencjalnie RCE; advisory wskazywał poprawkę w 1.18.1 i backporty 1.16.x. Pole CVE było puste („CVE ID requested”) — CVE-2026-90616 pojawił się dopiero 12 września. To około miesiąca, w którym organizacja konsumująca wyłącznie CVE mogła nie mieć stabilnego identyfikatora, mimo że maintainer miał publiczny advisory, patch i regression tests.
bwrap --bind rozwiązuje symlink → montuje niezamierzoną część host filesystemu do sandboxa → arbitrary read/write, potencjalnie RCE.Technicznie i blind spot CVE-only
Flatpak bind-mountuje katalogi danych aplikacji do sandboxa; w niektórych ścieżkach elementy katalogu są kontrolowane przez aplikację. Zastąpienie elementu symlinkiem do lokalizacji na hoście sprawia, że bwrap --bind przekazuje ścieżkę do kernela, a rozwiązywanie symlinków montuje niezamierzoną część filesystemu — złośliwa aplikacja uzyskuje read/write poza granicą izolacji. To uderza w security property produktu: app sandbox cannot arbitrarily read/write host files. Pipeline CVE feed → NVD/CPE → scanner → ticket ma blind spot: 11.08 maintainer publikuje GHSA i fix, ale bez konsumpcji GHSA/OSV/vendor advisories organizacja może nie utworzyć findingu do przypisania CVE. Identyfikator jest kluczem do SLA, deduplikacji, CMDB enrichment, patch tickets, dashboardów, raportów compliance, exception workflows — brak CVE praktycznie znaczy „problem nie istnieje w systemie”, mimo że istnieje i ma patch.
CVE assignment jako evolution story i patch lineage
Gdy 12.09 pojawia się CVE-2026-90616, dojrzały VE nie tworzy drugiego findingu — wykonuje korelację GHSA-8688-9x26-hhxj ↔ CVE-2026-90616 i wzbogaca istniejący rekord. To wymaga identity graph (GHSA, CVE, OSV ID, vendor advisory ID, patch commit, package/ecosystem, affected range), nie tabeli z jednym primary ID. Patch lineage jest tu ważniejszy niż sam CVE: patched 1.18.1, konkretny commit, regression tests, backporty 1.16.x, dodatkowe commity libglnx przy backporcie. Proste version >= 1.18.1 = fixed jest poprawne dla głównej linii, ale nie dla LTS z backportami — w Debian/RHEL-like zobaczymy numer pakietu starszy niż upstream fixed, z backportowanym patchem. Closure wymaga obsługi upstream version ALBO vendor backport/package advisory.
Błędy, weryfikacja, program
False positive: scanner patrzy tylko na upstream version i oznacza distro package jako podatny mimo backportu. False negative: system patrzy tylko na CVE i przez miesiąc nie widzi GHSA. Wspólna przyczyna: za ubogi model provenance i identity. Verification: upstream — Flatpak 1.18.1+; backport — vendor advisory/changelog i mapowanie do commitów; property test (krytyczne środowisko) — kontrolowany symlink w app data nie powoduje bind-mountu niezamierzonej ścieżki hosta; regression evidence — testy maintainera do korelacji. Finding zamknięty nie „bo CVE zniknęło ze skanera”, lecz bo podatna właściwość nie występuje w buildzie. Program VM potrzebuje ingestion z wielu źródeł (vendor/maintainer advisories, GHSA/OSV, CVE/NVD, distro trackery, CSAF/VEX) i korelacji identyfikatorów do jednego vulnerability object — dla sytuacji GHSA-first→CVE-later, CVE-first→advisory-later, upstream fixed→distro backport, CVE split/merge/dispute. W źródłach brak potwierdzenia active exploitation.
Powiązane na blogu
- GHSA na miesiące przed CVE — ten sam blind spot w innym ekosystemie
- AOMEI: property produktu jako granica - sandbox/boot trust
Źródła
- Flatpak primary advisory GHSA-8688-9x26-hhxj — github.com
- oss-security announcement — openwall.com
- NVD — CVE-2026-90616 — nvd.nist.gov
Nota redakcyjna: stan informacji 14 września 2026. CVE-2026-90616 (Flatpak): sandbox escape opublikowany jako GHSA 11.08, CVE dopiero 12.09; patch 1.18.1 + backporty 1.16.x. Brak potwierdzenia active exploitation. Artykuł podkreśla korelację identyfikatorów i patch lineage upstream vs distro.