CWE-187
Partial String Comparison
Produkt wykonuje porównanie, które bada tylko część czynnika przed określeniem czy istnieje zgodność, na przykład podciąg, co prowadzi do powstania słabości bezpieczeństwa. Takie niekompletne porównania mogą być exploatowane w celu obejścia mechanizmów weryfikacji lub walidacji.
The product performs a comparison that only examines a portion of a factor before determining whether there is a match, such as a substring, leading to resultant weaknesses.
Wersje Jellyfin wcześniejsze niż 10.11.7 zawierają łańcuch podatności w endpoincie przesyłania napisów, umożliwiający ostatecznie zdalne wykonanie kodu jako root. Podatność jest krytyczna ze względu na pełne przejęcie serwera przez uprawnionego użytkownika sieciowego.
Podatność w Docker Engine (projekt Moby) umożliwia atakującemu ominięcie wtyczek autoryzacji (AuthZ) poprzez spreparowane żądanie API, co może prowadzić do nieautoryzowanych działań, w tym privilege escalation. Błąd jest regresją naprawionej wcześniej w 2019 roku luki, która nie została przeniesiona do nowszych gałęzi projektu.
CODESYS Gateway Server V2 w wersjach przed V2.3.9.38 porównuje jedynie fragment podanego hasła z rzeczywistym hasłem dostępu. Atakujący może uzyskać nieautoryzowany dostęp, podając krótkie hasło będące prefiksem właściwego hasła, co skutecznie omija mechanizm uwierzytelniania.
IBM MQ Operator 3.2.2 and IBM MQ Operator 2.0.24 could allow a user to bypass authentication under certain configurations due to a partial string comparison vulnerability. IBM X-Force ID: 297169.
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static determines whether a request should be served as a static file using a simple string prefix check. When configured with URL prefixes such as "/css", it matches any request path that begins with that string, including unrelated paths such as "/css-config.env" or "/css-backup.sql". As a result, files under the static root whose names merely share the configured prefix may be served unintentionally, leading to information disclosure. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.
http-proxy-middleware to middleware http-proxy dla Node.js. W wersjach od 0.16.0 do 2.0.10, 3.0.6 i 4.1.0, routing proxy-table dla wpisów host, path lub host+path używa niezakotwiczonego dopasowania substring na metadanych żądania kontrolowanych przez atakującego. W rezultacie crafted nagłówek Host, który jest tylko superstringiem dla skonfigurowanego klucza host+path, może nadal przekierować żądanie do niezamierzonego backendu. Podatność jest naprawiona w wersjach 2.0.10, 3.0.6 i 4.1.0.
Partial string comparison in Windows HTTP Protocol Stack allows an unauthorized attacker to perform tampering over an adjacent network.
Astro is a web framework for content-driven websites. Prior to 7.2.4, Astro stripped a configured non-root base path from request pathnames using a string-prefix check without verifying a path-segment boundary. With base "/app", a request to "/appX/admin" resolved internally to the protected "/admin" route while middleware observed "/appX/admin" in context.url.pathname. In applications that authorize base-prefixed routes by inspecting context.url.pathname, an unauthenticated remote attacker could bypass pathname-based middleware authorization and reach protected routes. This issue is fixed in version 7.2.4.
A vulnerability has been identified in RUGGEDCOM RM1224 LTE(4G) EU (6GK6108-4AM00-2BA2) (All versions < V8.2.1), RUGGEDCOM RM1224 LTE(4G) NAM (6GK6108-4AM00-2DA2) (All versions < V8.2.1), SCALANCE M804PB (6GK5804-0AP00-2AA2) (All versions < V8.2.1), SCALANCE M812-1 ADSL-Router family (All versions < V8.2.1), SCALANCE M816-1 ADSL-Router family (All versions < V8.2.1), SCALANCE M826-2 SHDSL-Router (6GK5826-2AB00-2AB2) (All versions < V8.2.1), SCALANCE M874-2 (6GK5874-2AA00-2AA2) (All versions < V8.2.1), SCALANCE M874-3 (6GK5874-3AA00-2AA2) (All versions < V8.2.1), SCALANCE M874-3 3G-Router (CN) (6GK5874-3AA00-2FA2) (All versions < V8.2.1), SCALANCE M876-3 (6GK5876-3AA02-2BA2) (All versions < V8.2.1), SCALANCE M876-3 (ROK) (6GK5876-3AA02-2EA2) (All versions < V8.2.1), SCALANCE M876-4 (6GK5876-4AA10-2BA2) (All versions < V8.2.1), SCALANCE M876-4 (EU) (6GK5876-4AA00-2BA2) (All versions < V8.2.1), SCALANCE M876-4 (NAM) (6GK5876-4AA00-2DA2) (All versions < V8.2.1), SCALANCE MUB852-1 (A1) (6GK5852-1EA10-1AA1) (All versions < V8.2.1), SCALANCE MUB852-1 (B1) (6GK5852-1EA10-1BA1) (All versions < V8.2.1), SCALANCE MUM853-1 (A1) (6GK5853-2EA10-2AA1) (All versions < V8.2.1), SCALANCE MUM853-1 (B1) (6GK5853-2EA10-2BA1) (All versions < V8.2.1), SCALANCE MUM853-1 (EU) (6GK5853-2EA00-2DA1) (All versions < V8.2.1), SCALANCE MUM856-1 (A1) (6GK5856-2EA10-3AA1) (All versions < V8.2.1), SCALANCE MUM856-1 (B1) (6GK5856-2EA10-3BA1) (All versions < V8.2.1), SCALANCE MUM856-1 (CN) (6GK5856-2EA00-3FA1) (All versions < V8.2.1), SCALANCE MUM856-1 (EU) (6GK5856-2EA00-3DA1) (All versions < V8.2.1), SCALANCE MUM856-1 (RoW) (6GK5856-2EA00-3AA1) (All versions < V8.2.1), SCALANCE S615 EEC LAN-Router (6GK5615-0AA01-2AA2) (All versions < V8.2.1), SCALANCE S615 LAN-Router (6GK5615-0AA00-2AA2) (All versions < V8.2.1), SCALANCE SC622-2C (6GK5622-2GS00-2AC2) (All versions < V3.2), SCALANCE SC626-2C (6GK5626-2GS00-2AC2) (All versions < V3.2), SCALANCE SC632-2C (6GK5632-2GS00-2AC2) (All versions < V3.2), SCALANCE SC636-2C (6GK5636-2GS00-2AC2) (All versions < V3.2), SCALANCE SC642-2C (6GK5642-2GS00-2AC2) (All versions < V3.2), SCALANCE SC646-2C (6GK5646-2GS00-2AC2) (All versions < V3.2). Affected devices improperly validate usernames during OpenVPN authentication. This could allow an attacker to get partial invalid usernames accepted by the server.
view_component to framework do budowania wielokrotnego użytku, testowalnych i hermetycznych komponentów widoku w Ruby on Rails. W wersjach od 3.0.0 do 4.9.0 punkt wejścia systemu testowego normalizuje ścieżkę pliku kontrolowaną przez użytkownika za pomocą File.realpath, a następnie sprawdza, czy rozstrzygnięta ścieżka zaczyna się od ścieżki katalogu tymczasowego. To nie jest bezpieczne sprawdzenie ograniczenia, ponieważ katalogi siostrzane mogą mieć ten sam prefiks napisu. Podatność ta została naprawiona w wersji 4.9.0.
Ujawniona została podatność w 666ghj BettaFish do wersji 1.2.1. Podatność dotyczy funkcji _deduplicate_results w pliku InsightEngine/agent.py komponentu InsightEngine search-result Deduplication. Manipulacja może prowadzić do porównania częściowego ciągów znaków. Atak można przeprowadzić zdalnie. Exploit został ujawniony publicznie i może być wykorzystywany. Pull request naprawiający ten problem oczekuje na zaakceptowanie.
Caddy to rozszerzalna platforma serwerowa domyślnie używająca TLS. Od wersji 2.4.0 do 2.11.3 warstwa autoryzacji i warstwa path traversal /config nie są zgodne co do tego, do którego obiektu konfiguracji odnosi się dana ścieżka — ścieżka autoryzowana dla jednego obiektu jest akceptowana, ale podczas traversal rozwiązuje się do innego obiektu. Problem wynika z tego, że warstwa autoryzacji używa string prefix matching, natomiast warstwa /config parsuje indeksy tablicowe numerycznie za pomocą strconv.Atoi(). Podatność została naprawiona w wersji 2.11.3.
OpenWrt Project to system Linux dla urządzeń wbudowanych. W wersjach przed 24.10.6 istnieje podatność w funkcji hotplug_call, która pozwala atakującemu obejść filtrowanie zmiennych środowiskowych i wstrzyknąć arbitralną zmienną PATH, potencjalnie prowadzając do privilege escalation. Funkcja ma filtrować wrażliwe zmienne środowiskowe takie jak PATH podczas wykonywania skryptów hotplug w /etc/hotplug.d, ale błąd stosujący strcmp zamiast strncmp powoduje, że filtr porównuje pełny ciąg środowiskowy (np. PATH=/some/value) z literałem "PATH", dlatego dopasowanie zawsze się nie powodzi. W rezultacie zmienna PATH nigdy nie jest wykluczona, umożliwiając atakującemu kontrolę nad tym, które binarne pliki są wykonywane przez skrypty invokowane przez procd z podwyższonymi uprawnieniami. Problem został naprawiony w wersji 24.10.6.