CWE-524
Use of Cache Containing Sensitive Information
Kod wykorzystuje pamięć podręczną zawierającą wrażliwe informacje, jednak pamięć ta może być odczytana przez osoby spoza zamierzonej sfery kontroli. Stanowi to zagrożenie bezpieczeństwa, ponieważ umożliwia nieautoryzowany dostęp do poufnych danych.
The code uses a cache that contains sensitive information, but the cache can be read by an actor outside of the intended control sphere.
Podatność w systemie Ghost CMS (Node.js) umożliwia nieuwierzytelnionemu atakującemu zatrucie pamięci podręcznej (cache poisoning) poprzez manipulację nagłówkiem x-ghost-preview. W konfiguracji, gdzie frontend i panel administracyjny działają na tej samej domenie, może to prowadzić do przejęcia kont użytkowników personelu.
Tenable Identity Exposure contains multiple unauthenticated API endpoints under /w/api/* that expose sensitive application configuration data including cleartext LDAP credentials, SAML configuration, user accounts, and directory settings to unauthenticated remote attackers. Affected responses are served with Cache-Control: public headers and without Vary: Cookie, allowing reverse proxies and CDNs to cache and serve sensitive data to unauthenticated users even after authentication is applied.
W Directus przed wersją 12.0.0 mechanizm tworzenia klucza cache'u pomija istotne elementy kontekstu autoryzacji, co pozwala różnym użytkownikom (w tym anonimowym) na odczyt odpowiedzi API przeznaczonych dla innych sesji lub ról. Podatność jest szczególnie groźna, ponieważ nie wymaga uwierzytelnienia i może prowadzić do ujawnienia poufnych danych z bazy SQL.
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, a vulnerability was discovered in @angular/common when Server-Side Rendering (SSR) and hydration are enabled. The HttpTransferCache utility optimizes hydration by caching outgoing HTTP requests performed during SSR and transferring the cached state to the client-side application via TransferState. However, the caching mechanism fails to inspect the withCredentials flag or the Cookie header of outgoing requests. As a result, credentialed, user-specific responses may be cached by default in the shared TransferState payload. When these responses are serialized into the HTML, any caching layer (such as a CDN, reverse proxy, or shared server cache) that caches the SSR-rendered HTML page could inadvertently cache and leak one user's private data to other users, leading to a high-severity information disclosure vulnerability. This vulnerability is fixed in 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23.
The AuthKit library for Next.js provides convenient helpers for authentication and session management using WorkOS & AuthKit with Next.js. In authkit-nextjs version 2.11.0 and below, authenticated responses do not defensively apply anti-caching headers. In environments where CDN caching is enabled, this can result in session tokens being included in cached responses and subsequently served to multiple users. Next.js applications deployed on Vercel are unaffected unless they manually enable CDN caching by setting cache headers on authenticated paths. Patched in authkit-nextjs 2.11.1, which applies anti-caching headers to all responses behind authentication.
W frameworku Nuxt (wersje 4.4.0–4.5.0) wpisy cache payload dla stron mogą być zwracane przed wykonaniem middleware i page guards, ujawniając dane SSR należące do innego użytkownika. Podatność umożliwia nieuwierzytelniony dostęp do potencjalnie wrażliwych danych serwerowych.
Podatność w rozszerzeniach Articles Anywhere i Users Anywhere dla Joomla (producent regularlabs.com) powoduje niekontrolowany wyciek treści przez nieprawidłowe zarządzanie kluczami cache zapytań zależnych od daty. Błąd może skutkować ujawnieniem zawartości, która powinna być niedostępna po upływie terminu publikacji lub wygaśnięcia.
Podatność w rozszerzeniach Regular Labs dla platformy Joomla powoduje, że mechanizm Smart Search podczas indeksowania treści używa tożsamości administratora zamiast niezalogowanego gościa. W efekcie treści zastrzeżone lub przeznaczone wyłącznie dla administratorów mogą trafić do publicznego indeksu wyszukiwania i zostać ujawnione zwykłym odwiedzającym witrynę.
The InputFilter::getInstance() method omitted a security sensitive parameter from the instance cache key.
Distribution is a toolkit to pack, ship, store, and deliver container content. Prior to 3.1.0, distribution can restore read access in repo a after an explicit delete when storage.cache.blobdescriptor: redis and storage.delete.enabled: true are both enabled. The delete path clears the shared digest descriptor but leaves stale repo-scoped membership behind, so a later Stat or Get from repo b repopulates the shared descriptor and makes the deleted blob readable from repo a again. This vulnerability is fixed in 3.1.0.
Shopware is an open commerce platform based on Symfony Framework and Vue. The Symfony Session Handler pops the Session Cookie and assigns it to the Response. Since Shopware 6.5.8.0, the 404 pages are cached to improve the performance of 404 pages. So the cached Response which contains a Session Cookie when the Browser accessing the 404 page, has no cookies yet. The Symfony Session Handler is in use, when no explicit Session configuration has been done. When Redis is in use for Sessions using the PHP Redis extension, this exploiting code is not used. Shopware version 6.5.8.7 contains a patch for this issue. As a workaround, use Redis for Sessions, as this does not trigger the exploit code.
A cache configuration issue prior to WhatsApp for Android v2.21.4.18 and WhatsApp Business for Android v2.21.4.18 may have allowed a third party with access to the device’s external storage to read cached TLS material.
Directus is a real-time API and App dashboard for managing SQL database content. An unauthenticated user can access credentials of last authenticated user via OpenID or OAuth2 where the authentication URL did not include redirect query string. This happens because on that endpoint for both OpenId and Oauth2 Directus is using the respond middleware, which by default will try to cache GET requests that met some conditions. Although, those conditions do not include this scenario, when an unauthenticated request returns user credentials. This vulnerability is fixed in 10.13.3 and 11.1.0.
NeuVector w wersjach do 5.4.9 włącznie umożliwia nieuwierzytelniony dostęp do endpointu API /network/graph w komponencie manager, który może ujawniać wrażliwe informacje z pamięci podręcznej. Podatność jest groźna, ponieważ nie wymaga żadnych poświadczeń ani interakcji użytkownika, a dostęp możliwy jest zdalnie przez sieć.
The Rapid Cache plugin for WordPress is vulnerable to Cache Poisoning in all versions up to, and including, 1.2.3. This is due to plugin storing HTTP headers in the cached data. This makes it possible for unauthenticated attackers to poison the cache with custom HTTP headers that may be unsanitized which can lead to Cross-Site Scripting.
In the Linux kernel, the following vulnerability has been resolved: drm/xe/uapi: Reject coh_none PAT index for CPU cached memory in madvise Add validation in xe_vm_madvise_ioctl() to reject PAT indices with XE_COH_NONE coherency mode when applied to CPU cached memory. Using coh_none with CPU cached buffers is a security issue. When the kernel clears pages before reallocation, the clear operation stays in CPU cache (dirty). GPU with coh_none can bypass CPU caches and read stale sensitive data directly from DRAM, potentially leaking data from previously freed pages of other processes. This aligns with the existing validation in vm_bind path (xe_vm_bind_ioctl_validate_bo). v2(Matthew brost) - Add fixes - Move one debug print to better place v3(Matthew Auld) - Should be drm/xe/uapi - More Cc v4(Shuicheng Lin) - Fix kmem leak issues by the way v5 - Remove kmem leak because it has been merged by another patch v6 - Remove the fix which is not related to current fix v7 - No change v8 - Rebase v9 - Limit the restrictions to iGPU v10 - No change (cherry picked from commit 016ccdb674b8c899940b3944952c96a6a490d10a)
Netty is an asynchronous, event-driven network application framework. Prior to 4.1.137.Final and 4.2.17.Final, io.netty.handler.codec.http.cors.CorsHandler setVaryHeader replaces application Vary headers such as Authorization or Cookie with Origin, allowing a caching proxy or CDN to reuse authenticated responses across users and disclose sensitive information. This issue is fixed in versions 4.1.137.Final and 4.2.17.Final.
Mastodon to bezpłatny serwer sieci społecznej o otwartym kodzie źródłowym oparty na ActivityPub. W wersjach poprzedzających 4.3.19, 4.4.13, 4.5.6 Mastodon jest podatny na web cache poisoning poprzez `Rails.cache`. Gdy AUTHORIZED_FETCH jest włączony, punkty końcowe ActivityPub dla przypiętych postów i polecanych hashtagów zawierają zawartość zależną od konta, które podpisało żądanie HTTP, jednak ta zawartość jest przechowywana w wewnętrznej pamięci podręcznej i ponownie używana bez względu na podpisującego aktora. W rezultacie pusta odpowiedź wygenerowana dla zablokowanego konta może zostać zwrócona żądaniom od uzasadnionych aktorów niezablokowanych, lub odwrotnie, zawartość przeznaczona dla aktorów niezablokowanych może być zwrócona zablokowanym aktorom. Problem został naprawiony w wersjach 4.3.19, 4.4.13, 4.5.6.
Discourse is an open source discussion platform. Version before 3.6.2 and 3.6.0.beta2, default Cache-Control response header with value no-store, no-cache was missing from error responses. This may caused unintended caching of those responses by proxies potentially leading to cache poisoning attacks. This vulnerability is fixed in 3.6.2 and 3.6.0.beta2.
A vulnerability has been identified in SINEC Traffic Analyzer (6GK8822-1BG01-0BA0) (All versions < V2.0). The affected application does not properly handle cacheable HTTP responses in the web service. This could allow an attacker to read and modify data stored in the local cache.