Blog · poza cyklem

Praktyka, analizy i komentarze z pola.

Wpisy, które nie mieszczą się w cyklu 12 części: rozbiory konkretnych przypadków, komentarze do świeżych podatności i notatki o tym, co naprawdę zmienia decyzję — nie kolor w skanerze.

83wpisy VEbez CVSS-owego skrótu

Wpisy

Najnowsze na blogu

83 wpisy
Najnowszy Case study

Grafana: kolizja klucza cache loguje zwykłego usera jako Administratora

CVE-2026-14199 (CVSS 7.1): tylko self-managed z Auth Proxy + identity caching (sync_ttl>0). Klucz cache konkatenował username i atrybuty bez separatora → kolizja tożsamości → logowanie jako Administrator. Configuration-aware VM; cache key jako authorization boundary. Czytaj wpis
Analiza

Apache Tika: ten sam path traversal — Local 5.9 czy Network 7.5?

CVE-2026-66755: CVE/CISA 4.0 5.9 (AV:L/AT:P), NVD 7.5 (AV:N), bazy do 8.7. Różnica to model dostarczenia pliku (lokalny zapis vs upload przez aplikację). CVSS opisuje bibliotekę albo deployment; least privilege procesu jako compensating control. Czytaj wpis
Case study

Jenkins + Entra ID: user tworzy grupę o tej samej nazwie i przejmuje prawa

CVE-2026-84672: plugin autoryzował grupy po GUID i po display name (nieunikalny) → przejęcie permissions. Fix 711.v34046f788fd7 (tylko GUID), ale insecure compatibility flag przywraca podatny model — patched binary ≠ effective remediation. Czytaj wpis
Analiza

OpenSSH: agent „locked”, a przez forwarded connection klucze wciąż działają

CVE-2026-73281 (USN-8721-1): błędna interakcja blokady agenta z session-bind@openssh.com pozwala remote attackerowi z forwarded agent connection używać kluczy. private key stays local, BUT sign/use capability is remotely reachable; affected asset to laptop/bastion/CI. Czytaj wpis
Analiza

GnuPG 2.9 Low: 4-bajtowy tag AES-GCM zamiast 12 — „Low” w kontroli integralności

CVE-2026-57062 (gpgsm, USN-8720-1): parser CMS AES-GCM akceptował aes-ICVlen 4 zamiast 12 → osłabienie tagu i obejście integralności. Severity ≠ wartość naruszonej security property; rewalidacja wyjątków opartych na integralności CMS/S/MIME. Czytaj wpis
Case study

GitHub Enterprise: unauthenticated SSRF, ale HA nie jest affected

CVE-2026-18730: SSRF przez Manage API → replayable management token; HA nie affected z powodu topologii. Dwie instancje z tą samą wersją, różny status — topology-aware VM zamiast samego version match. Czytaj wpis
Analiza

PikiwiDB: requirepass włączone, ale port replikacji omija kontrolę

CVE-2026-84700 (Pika 3.5.7): requirepass sprawdzane tylko w MetaSync; dispatcher obsługuje TrySync/DBSync/BinlogSync bez auth. Kontrola na jednej ścieżce protokołu to nie kontrola na wszystkich. Czytaj wpis
Analiza

Libreswan High 7.5, ale tylko FIPS + CA

CVE-2026-14957: w trybie FIPS malformed X.509 ubija pluto (DoS), ale wymaga FIPS mode i co najmniej jednego CA; PSK bez CA nie jest podatne. Configuration-aware affectedness i conditional VEX. Czytaj wpis
Analiza

SELinux fixfiles: podatny kod od lat, a Red Hat nadal ustala affected RHEL

CVE-2026-19079 (TOCTOU między find i chcon w fixfiles): zmiana SELinux label dowolnego pliku przez symlink. Red Hat: podatny /tmp cleanup istnieje od lat, ale product analysis wciąż trwa. „Under investigation” to nie „safe” — potrzebny jawny model niepewności ze statusem i deadline. Czytaj wpis
Case study

SonicWall SMA1000 CVSS 10: pre-auth SSRF przez „alternate access path”

CVE-2026-83548: urządzenie jako pośrednik do wrażliwej funkcji bez punktu kontroli. Boundary omija nie złamanie auth, lecz ścieżka, na której auth w ogóle nie bierze udziału; dla edge — log review i compromise assessment. Czytaj wpis
Analiza

Proxmox VE: krytyczny auth bypass dostał CVE, gdy releases są EOL

CVE-2023-54391 opublikowano w NVD 01.09.2026 — affected releases (7.0–8.0) są już EOL. Publication date ≠ początek podatności; nowa wiedza o starym exposure i retroaktywny exposure assessment. Czytaj wpis
Analiza

GitHub „Affected: Unknown”, opis „through 3.6.1” — FaceFusion

CVE-2026-84702: path traversal przez nieuwierzytelnione API. GHSA publikuje Affected/Patched „Unknown”, choć opis mówi „through 3.6.1” i fix 3.7.0. False negative na poziomie ingestion structured fields. Czytaj wpis
Case study

BookStack: po patchu vendor każe szukać „nieobrazków” w uploadach

BookStack v26.05.4 (m.in. CVE-2026-84695): stored XSS, ZIP import → RCE i inne. Patch nie usuwa historycznych artefaktów; jedna akcja deployment, wiele verification tracks; post-exploitation validation. Czytaj wpis
Analiza

Go crypto/tls: KeyUpdate bez końca — DoS zależny od runtime

CVE-2026-56862: powtarzane KeyUpdate → wyczerpanie CPU. golang bywa toolchainem/build-time dep; liczy się, które uruchomione binaria zawierają podatny crypto/tls. Patch toolchaina ≠ rebuild binariów. Czytaj wpis
Analiza

Dokploy: publiczny exploit, ale brak jasnej patched version

CVE-2026-82954 (Dokploy ≤ 0.29.7, path traversal): exploit publiczny, vendor milczy, brak fixed version. Public PoC ≠ observed exploitation; evidence-driven controls z deadline; vendor-risk finding. Czytaj wpis
Case study

Keycloak 9.1: wyłącz „Forgot password” — koszt mitygacji

CVE-2026-18963: unauthenticated account takeover (także adminów). Mitigation prosta technicznie, ale kosztowna biznesowo i realm-specific. Mitigated ≠ Remediated; VM powinien śledzić business cost of mitigation. Czytaj wpis
Analiza

Keycloak: metryki Prometheusa jako attack surface

CVE-2026-16100: attacker-controlled wartości w labelach → cardinality explosion → wyczerpanie pamięci. „metrics enabled” zmienia affectedness jak feature flag; limit pamięci to crash-loop, nie remediation. Czytaj wpis
Case study

Devtron: zwykły user dostaje plaintext super-admin JWT

CVE-2026-82882 (CWE-862, Devtron ≤ 2.2.0): endpoint bez authorization zwraca super-admin JWT → platform takeover. PR:L opisuje wejście, nie władzę; credential-mediated privilege escalation; token rotation osobno. Czytaj wpis
Case study

Hugging Face: consent check wykonany po file-write nie jest kontrolą

CVE-2026-80047 (Transformers 4.49.0–5.8.1): load_custom_generate() zapisuje zdalny kod do cache przed sprawdzeniem trust. Security decision musi poprzedzać pierwszy nieodwracalny side effect; cache jako część remediation. Czytaj wpis
Case study

JFrog Artifactory: default-config unauth admin — 9.8 vs niski EPSS

CVE-2026-82329 (CWE-287, CVSS 9.8, EPSS ~0,377%): unauthenticated admin under default config; Canadian Cyber Centre 01.09 wskazał exploitation in the wild. Obserwacja bije predykcję; cloud vs self-hosted; supply-chain blast radius. Czytaj wpis
Case study

PaperCut znów: KEV, publiczny exploit i Release 3

CVE-2026-81578 + CVE-2026-82078 tworzą pre-auth RCE chain. Po Release 2 przyszło Release 3 (supersedes), oba CVE w KEV i publiczny exploit (Metasploit). „Closed” musi być odwracalne; superseded remediation. Czytaj wpis
Case study

„Upgrade: websocket” wyłącza uwierzytelnianie — RHACM

CVE-2026-71467: middleware pomija authentication przy nagłówku Upgrade: websocket; /federated dostępne pre-auth POST-em. Affectedness zależy od FEATURE_FEDERATED_SEARCH (default off w ACM, on w Global Hub). Czytaj wpis
Analiza

svg-sanitizer: cztery advisories jednego dnia — variant analysis

Case folding, CSS injection/remote reference bypass, stored XSS przez DTD/HTML5 named refs, DoS przez DTD. Semantic equivalence across parsers; revalidacja wyjątków opartych na sanitizerze; sanitize + rasterize + CSP. Czytaj wpis
Analiza

Jackson Path: skutek zależy od FileSystemProvider na classpathie

CVE-2026-19032: deserializacja Path → URI → lookup FileSystemProvider. Ta sama wersja, inna exploitability zależnie od providerów na runtime classpath; nieciągłe affected ranges; conditional VEX. Czytaj wpis
Analiza

WebKitGTK: „Affected: Unknown”, a Red Hat pokazuje ścieżki przez GNOME

CVE-2026-83596 (CVSS 8.8): GHSA bez wersji/pakietu, a Red Hat opisuje pakiety zależne (gnome-shell, yelp…) i warunek GUI + niezaufana treść. NVD/GHSA jako discovery, vendor jako operational affectedness. Czytaj wpis
Analiza

BlueZ 7.6: „remote” kończy się na zasięgu Bluetooth i discovery

CVE-2026-80186: spreparowany EIR podczas discovery → crash bluetoothd (możliwe RCE). Affectedness zależy od sprzętu, adaptera, bluetoothd, discovery i kontekstu radiowego; AV:A ≠ automatycznie niski priorytet. Czytaj wpis
Case study

Jedno konto cPanel do roota całego serwera

CVE-2026-65643 (domain parking): uwierzytelniony właściciel konta tworzy arbitralne pliki → code execution jako root i przejęcie wszystkich kont. W multi-tenant hostingu konto klienta jest attacker-controlled by design. Czytaj wpis
Analiza

Publiczny exploit LPE, ale RHEL 6–9 nie są affected

CVE-2026-72137 (double free w xfrm): publiczny LPE exploit, ale kod od Linux 6.11 → RHEL 6/7/8/9 not affected. public exploit AND affected code AND local path; rozdziel KEV / PoC / weaponized / observed. Czytaj wpis
Analiza

Buildah: złośliwe repo wyciąga pliki spoza build context

CVE-2026-44517 (Buildah 1.38.1–1.43.1): symlinki przy Git/tar build context lub ADD/COPY → tokeny CI, kubeconfig, cloud creds w obrazie. CVSS 6.3 nie opisuje izolacji runnera; range-aware affectedness. Czytaj wpis
Analiza

OpenSSL: Low CVE możliwe zdalnie, ale tylko gdy używasz QUIC

CVE-2026-63075: ACK-only packets po handshake → memory growth → DoS. Miliony instalacji OpenSSL ≠ miliony podatnych usług QUIC; QUIC poza FIPS boundary; conditional VEX zależny od użycia QUIC. Czytaj wpis
Analiza

Linux netfs: CVSS 9.8 vs opis o brakującym locku — jakość danych

CVE-2026-64068: Ubuntu pokazuje CVSS 3.1 9.8 (AV:N) i CVSS 4.0 7.3 (AV:L/PR:L); tylko 26.04 affected. Zachowaj provenance obu ocen, zweryfikuj attack path i commit — nie eskaluj tylko dlatego, że kolumna ma 9.8. Czytaj wpis
Analiza

Apache HttpClient: dwa CVE, odwrotna affectedness

CVE-2026-64607 (classic YES/async NO) i CVE-2026-71290 (classic NO/async YES): o affectedness decyduje execution model, nie obecność httpclient5. Library present ≠ vulnerable functionality used; unsupported ≠ not affected. Czytaj wpis
Analiza

Undertow: Affected, Will not fix, Fix deferred i Not affected

CVE-2026-81624 (WebSockets DoS): kluczowy jest product state. Affected ≠ „patch jest”; Will not fix ≠ false positive; Fix deferred ≠ risk accepted; Not affected + backporty. Rozdziel affectedness od remediation availability. Czytaj wpis
Analiza

Zephyr: „Moderate DoS”, ale reboot w terenie

GHSA-x956-p489-8mf5: wyciek net_pkt przy IPv6 NS wyczerpuje pulę TX bez auto-recovery (wymagany reboot). CVSS nie zna kosztu recovery; attacker effort : defender recovery cost; Recovery Complexity i fleet VM. Czytaj wpis
Analiza

cpio: flaga włączona, gwarancja ominięta przez hard-link

CVE-2026-66484: --no-absolute-filenames sanitizowało nazwę pliku, ale nie cel hard linku przed link() → escape. Nie brak kontroli, lecz niepełny coverage; control lineage i rewalidacja wyjątków opartych na fladze. Czytaj wpis
Analiza

Foreman: REST API sprawdza tenant, UI nie — cross-tenant przez UI

CVE-2026-81658: user z niskimi uprawnieniami czyta historyczny template innej organizacji przez UI; REST API (authorization-aware scope) nie affected. security property tested on A ≠ guaranteed on B; historyczne sekrety jako aktywo. Czytaj wpis
Analiza

Jedno CVE, wiele różnych luk — Cisco grupuje podatności według CWE

Cisco Secure Workload: wiele luk pod jednym CVE (grupowanie po CWE), a remediation obejmuje Cluster/Agent/Connector. CVE to identyfikator wiedzy, nie zawsze jednostka pracy — „vendor patched” i „customer action required” mogą być prawdziwe naraz. Czytaj wpis
Case study

FreeRDP: CVE.org „bez uprawnień”, Red Hat „low privileges” — dwa modele zagrożenia

CVE-2026-67298 (heap overflow w server-side RAIL handler): CVE.org 7.5 PR:N, Red Hat 7.1 PR:L. Rozbieżność CVSS to różnica modeli zaufania, nie błąd. Feature exposure (server/proxy/shadow aktywne?) ważniejsze niż package presence; zachowaj oba score z provenance. Czytaj wpis
Analiza

Keycloak: CVE istnieje tylko przy jawnie niebezpiecznej konfiguracji

CVE-2026-18569 (backchannel logout, Red Hat Low 3.7) wymaga OIDC IdP z pominiętą walidacją podpisu (non-default). not affected vs not exploitable; conditional VEX z rewalidacją po configuration drift; low CVE ujawniający ważniejszy problem hardeningu. Czytaj wpis
Case study

CVSS 9.9, EPSS ~0,3% — OpenShift ACM i severity vs exploit probability

CVE-2026-66792 (multicloud-operators-subscription / RHACM): annotations Subscription → uprawnienia SA kontrolera → cluster-admin. CVSS 9.9, EPSS ~0,303%. CVSS i EPSS nie konkurują; global vs local probability; nie mnożyć bezmyślnie CVSS × EPSS. Czytaj wpis
Analiza

NetworkManager podatny tylko przy niestandardowym backendzie dhclient

CVE-2026-10805 (LPE przez spreparowany MUD URL) występuje tylko w backendzie dhclient, który administrator musi jawnie skonfigurować — default nie jest affected. CVSS 6.7, EPSS ~0,152%. Configuration query jako enrichment; warunkowa suppression zamiast „false positive forever”. Czytaj wpis
Case study

PaperCut: emergency patch, poprawka poprawki i CISA KEV

CVE-2026-81578/82078: aktywna eksploatacja, Emergency Patch Release 2 zastępujący pierwszy, regresje SAML/Card-ID i wejście do CISA KEV (31.08). Risk state jest dynamiczny — finding to zdarzenie, nie rekord; patch ≠ compromise assessment. Czytaj wpis
Case study

pgAdmin 9.17 naprawia trzy incomplete fixy z 9.16

CVE-2026-17346/17348/17351 to incomplete fixy CVE z 9.16 (SQLi, brak @pga_login_required, read-only bypass przez lexer differential). Naprawa wystąpienia ≠ naprawa klasy błędu; remediation lineage i status REVALIDATION_REQUIRED zamiast Open/Closed. Czytaj wpis
Analiza

Composer załatał path traversal, ale symlink i stary vendor cache ominęły fix

CVE-2026-59944: bypass poprawki przez symlink i metadane installed.json. Cache CI przechowuje security-relevant state — aktualizacja binarium (2.10.3/2.2.30) może nie wystarczyć. Historia artefaktu bywa równie ważna jak numer wersji. Czytaj wpis
Analiza

Kontrola dostępu działała — tylko za wcześnie (AshPhoenix)

CVE-2026-82724: handle_subdomain wykonywał autoryzację, gdy tenant był jeszcze nil, bez ponowienia → cross-tenant access. To nie „brak autoryzacji”, tylko control present but executed before security context exists. Fix 2.3.25. Czytaj wpis
Case study

Kaltura Player V2: memcache przerywa RCE chain, ale podatność zostaje

CVE-2026-19912/19913 (CERT/CC VU#308749): unsafe unserialize i niesanitizowany uiconf_id. Memcache-only blokuje etap file-write, nie usuwa root cause. „Known exploit no longer works” ≠ „root cause no longer exists”; legacy V2 vs wspierany V7; conditional risk acceptance. Czytaj wpis
Case study

OpenSSL „załatany”, ale fix CVE-2026-75803 w ogóle nie trafił do paczki

USN-8673-1 przypadkowo pominął fix (naprawia go USN-8678-3). Administrator wdrożył właściwą aktualizację, a finding i tak powinien pozostać otwarty — version-based closure ≠ binary/behavior verification. Czytaj wpis
Case study

libssh 0.12.1 deklarował fix, którego nie zawierał

CVE-2026-59843: commit przypadkowo wykluczony, 0.12.2 (i 0.11.5) wydano jako fixup. Jak walidować remediation, gdy „fixed in” to deklaracja, a nie dowód. Czytaj wpis
Analiza

containerd jest w SBOM, ale podatny CRI nigdy się nie uruchamia

CVE-2026-53489: OpenShift używa CRI-O, a containerd to build-time dependency — podatny checkpoint-restore się nie wykonuje. Package present ≠ reachable; miejsce na VEX, nie „False Positive”. Czytaj wpis
Case study

Trzy CVSS 10.0 w ServiceNow — hosted załatani przez vendora, self-hosted działają sami

CVE-2026-18885/18886/74820: ten sam CVE, różny remediation owner zależnie od modelu wdrożenia. Bez package/version mappingu scanner sam nie rozstrzyga exposure. Czytaj wpis
Analiza

Upstream: BIND 9.18 EOL. Ubuntu łata 9.18.39 — EOL upstreamu ≠ EOL pakietu

CVE-2026-13204: ISC oznacza gałąź 9.18 jako EOL (fix 9.20.26), a Ubuntu backportuje do 9.18.39. VE musi rozróżniać lifecycle upstreamu od lifecycle vendor package. Czytaj wpis
Analiza

OpenZFS: root-level operacje możliwe tylko przy /dev/zfs i unprivileged user namespaces

CVE-2026-79619: capability z user namespace traktowane jak host privilege. Dwa hosty z tym samym pakietem mają różną affectedness — namespace zmienia znaczenie „local privilege”. Czytaj wpis
Analiza

libssh podatny na integralność SSH tylko z backendem OpenSSL

CVE-2026-59847: błąd EVP_DecryptFinal() degraduje AES-GCM do AES-CTR — ale tylko w buildach z OpenSSL. O exploitability decyduje, jak bibliotekę zbudowano, nie sam numer wersji. Czytaj wpis
Analiza

ABRT: najlepszą remediation nie jest patch, tylko usunięcie martwego komponentu

CVE-2026-54228 (7.8): ABRT deprecated w RHEL 8, absent w RHEL 9+. Red Hat radzi wyłączyć/usunąć. Attack surface reduction lepszy niż patch legacy albo kolejny wyjątek. Czytaj wpis
Analiza

Unbound podatny tylko przy buildzie z DoQ i aktywnym quic-port

CVE-2026-14586: sam version match nie wystarcza — trzeba znać compile-time feature (--with-libngtcp2) i runtime config (quic-port). Podatność wymaga trzech warunków naraz. Czytaj wpis
Analiza

UDisks prowadzi do roota, ale tylko gdy fstab zawiera konkretne opcje

CVE-2026-7867 (7.8): as-user w Filesystem.Mount → root, ale wymaga wpisu fstab z x-udisks-auth/user/users. Konfiguracja systemowa jako warunek exploitability, nie tło. Czytaj wpis
Case study

MCP ma CVSS 10.0, ale GitHub pokazuje „Affected versions: Unknown”

CVE-2026-82456: high-confidence vuln (bind do wszystkich interfejsów, brak auth przy ustawionym tokenie) z niekompletnym package mappingiem. VE nie może biernie czekać, aż feed dojrzeje. Czytaj wpis
Analiza

CVSS 8.8, EPSS bardzo niski, a podatność łamie granicę guest–host

CVE-2026-80724: guest podnosi RO→RW (VM_MAYWRITE) i zapisuje dane timekeeping hosta. Niski EPSS nie powinien zaniżać priorytetu, gdy potwierdzona jest krytyczna trust boundary. Czytaj wpis
Analiza

Kernel 8.4 PR:N, ale exploit zaczyna się od kontrolowania Device Tree przy boot

CVE-2026-80723: OOB write w fdt_scan_reserved_mem(). Affected kernel nie wystarcza — VE musi ustalić, kto realnie kontroluje Device Tree używane podczas bootu. Czytaj wpis
Case study

150 tys. downloadów, 10 złośliwych wersji w 21 minut — kiedy SCA musi pytać „czy build już wykonał malware?”

Supply-chain compromise pakietu npm @7nohe/openapi-react-query-codegen (150 tys. pobrań/tydz.) przez przejęty workflow GitHub Actions/OIDC. Dla malicious dependency „present ≠ executed”, a czysta wersja nie zamyka findingu — to już incident response, nie remediation dependency. Czytaj wpis
Analiza

Kernel ma CVE 8.4, ale prawdziwym problemem jest to, że exec() usuwa nałożony security control

CVE-2026-80713: per-task restrictions io_uring znikały po exec() — control był, działał, ale nie przetrwał legalnego przejścia lifecycle. „Control configured” ≠ „control persistent”; remediation validation ponad version validation. Czytaj wpis
Case study

Sandbox działał — tylko dane wyrenderowano drugi raz już bez niego

CVE-2026-82447 w Skyvern: pierwszy render Jinja był sandboxed, drugi już nie — second-order template injection prowadzi do RCE. Security control może działać poprawnie na jednym etapie i zniknąć na następnym; bezpieczeństwo pipeline to właściwość całego przepływu danych. Czytaj wpis
Case study

Najpierw omijasz logowanie, potem API oddaje hasła w plaintext

Dwa CVE w rust-iot-platform: CVE-2026-82452 (auth bypass) + CVE-2026-82453 (plaintext passwords zwracane w API) = unauthenticated credential harvesting. Liczba CVE to nie liczba attack paths — CVSS się nie sumuje, ale capabilities już tak. Czytaj wpis
Case study

Critical RCE, który nie wymaga błędnej konfiguracji — bo podatne ustawienie jest w gotowym szablonie

CVE-2026-14494 w Sigma Forms Pro: unauthenticated arbitrary file upload → RCE. „Requires configuration”, ale podatny stan przychodzi z pre-built templates producenta. Nie każda precondition obniża ryzyko tak samo — „vulnerable by default”. Czytaj wpis
Analiza

CVE przypisane do Linux kernel, a podatny kod siedzi w userspace perf

CVE-2026-80671 to „Linux kernel Critical 9.3”, ale podatny plik to tools/perf/builtin-sched.c parsujący niezaufany perf.data. Jak zła granularność produktu generuje tysiące fałszywie pilnych findingów — Product → Package → Component → Runtime → Attack Path. Czytaj wpis
Case study

Plugin płatności ma „SSRF”, a skutek to darmowe zakupy i wyciek credentiali gatewaya

CVE-2026-16947 (Total Processing for WooCommerce ≤ 7.3): unauthenticated SSRF, ale realnie payment verification bypass + gateway credential disclosure + fraud. Brak znanego fixa. CWE opisuje mechanizm błędu, nie wartość ryzyka dla firmy. Czytaj wpis
Case study

Content editor z prawem do DataObjects kończy z RCE

CVE-2026-55634: zwykłe uprawnienie objects w Pimcore pozwala przez nazwę pola DataObject wstrzyknąć kod do generowanej klasy PHP (i do SQL DDL). PR:L nie mówi, jak potężne jest low-privilege w danym systemie. Czytaj wpis
Case study

Masz tylko „mon allow r”, a zdobywasz SSH key do wszystkich hostów Cepha

CVE-2026-50152: read-only CephX czyta cały Monitor config-key store — w klastrach cephadm także SSH private key do wszystkich hostów. Read-only to nazwa operacji, nie poziom zaufania. Credential transitivity zamiast klasycznej eskalacji. Czytaj wpis
Analiza

12 CVE dla MCP w mniej niż 9 sekund

VulnCheck opublikował 12 CVE dla ekosystemu MCP (CVE-2026-81091…81102) w kilka sekund. Pytanie nie brzmi „czy auto-CVE są wiarygodne”, tylko czy VM potrafi ocenić provenance, aktualność i konflikty pól niezależnie od sposobu generowania danych. Czytaj wpis
Analiza

Pięć podatności Ranchera, ale nie każda istnieje w każdej architekturze

Seria advisories Ranchera: exploitability zależy od HA, SAML, multi-cluster, RBAC i tenant modelu. Affected by version ≠ attack path exists. Dlaczego VM w cloud-native musi być topology-aware i trzymać oba stany jednocześnie. Czytaj wpis
Case study

„Nie udało się odtworzyć, więc produkcja jest bezpieczna” — potem zaatakowano sześć sieci

Cosmos EVM: nieudana reprodukcja PoC na 18-decimal uznana za brak zagrożenia produkcji, potem ~5,7 mln USD strat. Brak reprodukcji jest wynikiem testu, nie dowodem niepodatności — rozdzielaj not_reproduced i not_affected. Czytaj wpis
Case study

Admin aplikacji czy root serwera? Dlaczego „PR:H” nie zawsze znaczy „mało pilne”

CVE-2026-82244: admin Budibase uploaduje plugin, niesandboxowany eval() daje RCE w procesie Node.js i root w domyślnych deploymentach. „Administrator aplikacji” i „root systemu” to nie ta sama security boundary — PR:H opisuje warunek wejścia, nie przekraczaną granicę. Czytaj wpis
Case study

Masz tylko ograniczone ssm:SendCommand, a kończysz z plikiem jako root

CVE-2026-81849: path traversal w pluginie aws:downloadContent pozwala z wąskiego uprawnienia SSM zapisać plik jako root. Least privilege to własność całego chainu identity → cloud → agent → host, nie pojedynczej IAM policy. Czytaj wpis
Case study

Wiele Critical CVE, jeden Firebox, jedna aktualizacja — liczba podatności to nie liczba działań

WatchGuard Firebox: cztery CVE w procesie iked (dwa pre-auth RCE 9.3), 200 urządzeń, 800 findings — ale jedna remediation (upgrade Fireware). Dlaczego finding ≠ remediation action i jak konfiguracja IKEv2 definiuje realny attack surface. Czytaj wpis
Case study

Patch zamknął CVE, ale nie cały attack primitive — Wazuh i „patched" ≠ „fixed"

CVE-2026-61800 to incomplete fix dla CVE-2026-30893: pierwsza poprawka zamknęła path traversal poza /var/ossec, ale nie autoryzację miejsca w środku. Path confinement ≠ authorization — patch lineage, re-ewaluacja populacji i trzy poziomy walidacji remediation. Czytaj wpis
Case study

Vendor miał patch, znał CVE, a i tak został zhakowany — JetBrains Cadence i remediation failure

Mimo znanego CVE-2026-63077 w TeamCity, patcha i ostrzeżeń o atakach, jeden serwer vendora pozostał niezałatany i został przejęty. „Ticket Closed" ≠ „Risk Closed" — remediation, której nie zweryfikowaliśmy, jest tylko deklaracją. Czytaj wpis
Analiza

Projekt praktycznie martwy, zero-click RCE nadal istnieje — kiedy EOL jest findingiem

Uptrain: cztery CVE składające się w zero-click RCE, a upstream praktycznie nie reaguje. Kiedy brak utrzymania projektu powinien sam być findingiem — operational EOL, maintainability risk i pytanie „czy ten software ma przyszłość bezpieczeństwa?". Czytaj wpis
Case study

Dwa Critical RCE w Next.js, dwa różne problemy VM: kiedy „podatna wersja" nie oznacza jeszcze „podatnego systemu"

Jeden security release, dwa Critical RCE — ale zupełnie różne grafy exploitability. CVE-2026-75604 zależy od OS/architektury/cache, a GHSA-2xp9-vwfh-vxw4 to zależność transytywna (sharp → libheif → AVIF). Reachability, VEX i ownership zamiast czerwonej etykiety. Czytaj wpis
Case study

Vendor mówi „DoS", badacze pokazują pre-auth RCE. Kto definiuje realną severity podatności?

CVE-2026-8452 (NetScaler): vendor opisał DoS (CVSS 8.8), watchTowr zademonstrował pre-auth RCE, NVD dał 9.8, a CISA dodała CVE do KEV. Jak modelować konflikt źródeł — severity to nie jedno pole. Czytaj wpis
Case study

CVSS 5.3 Medium, ale CISA KEV. JFrog Artifactory pokazuje, dlaczego „Medium" może być pilniejsze niż „Critical"

CVE-2026-66384: Medium, a jednak known exploited na krytycznym elemencie software supply chain. Severity opisuje podatność, priority opisuje Twoją decyzję — Medium 5.3 i P1 mogą istnieć jednocześnie. Czytaj wpis
Analiza

Aktywne ataki, brak CVE i brak patcha. Co ma zrobić Vulnerability Engineer z PaperCutem?

27.08.2026 PaperCut potwierdził aktywną eksploatację NG/MF — bez publicznego CVE i bez patcha, ale z mitygacją. Jak zarządzać ryzykiem, gdy CVE nie jest kluczem głównym VM: rejestracja sprawy, exposure, mitigation, IR równolegle, walidacja. Czytaj wpis
Case study

KEV mówi: atakują. EPSS mówi: 0,356%. Któremu wskaźnikowi ma zaufać Vulnerability Engineer?

CVSS 7.0, EPSS ~0,356%, a CISA KEV = tak i potwierdzona kampania Lazarusa (CVE-2026-68820, Windows AFD). Dlaczego te wskaźniki nie przeczą sobie — odpowiadają na różne pytania — i jak łączy je Vulnerability Engineer w realnym triage. Czytaj wpis
Analiza

Log4j2, którego nie da się ocenić samym CVSS-em. Jak powinien podejść do niego Vulnerability Engineer?

Da się zbudować RCE przez deserializację w Log4j2 (FilteredObjectInputStream + MarshalledObject), a mimo to obecność Log4j nie oznacza podatności. Component presence ≠ vulnerability presence ≠ exploitability — reachability, receiver, gadget chain, VEX i łańcuch dowodów zamiast czerwonego koloru. Czytaj wpis

// Kolejne wpisy poza cyklem pojawią się tutaj.