CVE-2026-84243
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Rodzina funkcji gettext w Bibliotece GNU C w wersji 2.0 i nowszych akceptuje wpisy zmiennych środowiskowych LANGUAGE zawierające znak „/” lub równe „..”, chyba że program ma ustawioną opcję setuid lub setgid (AT_SECURE). Osoba atakująca, która może ustawić JĘZYK w środowisku programu korzystającego z gettext, może zmusić go do załadowania katalogu wiadomości (pliku .mo) z dowolnej lokalizacji w systemie plików. Stworzony plik .mo może spowodować awarię programu z powodu przesunięć przekraczających zakres lub dostarczyć tłumaczenia, których dyrektywy dotyczące formatu nie odpowiadają argumentom przekazanym przez program. Powoduje to niezdefiniowane zachowanie w rodzinie funkcji printf i może pozwolić na wykonanie dowolnego kodu z uprawnieniami programu. Bezpieczeństwo katalogów wiadomości polega na tym, że są one instalowane w zaufanych lokalizacjach tylko do odczytu, a przeglądanie katalogów omija to.
Poprawka dla CVE-2014-0475 odrzuca komponenty ścieżki „..” w nazwach ustawień narodowych przekazywanych do setlocale lub pobieranych ze zmiennych środowiskowych LC_ALL, LC_* i LANG. gettext czyta bezpośrednio LANGUAGE i dołącza każdy wpis oddzielony dwukropkami do katalogu katalogu wiadomości, więc poprawka nie obejmowała LANGUAGE.
JĘZYK jest używany tylko wtedy, gdy ustawienia regionalne LC_MESSAGES to inne niż „C”, „C.<kodowanie>” lub „POSIX”, więc osoba atakująca musi mieć także możliwość wybrania innego zainstalowanego ustawienia regionalnego, na przykład poprzez LANG lub LC_ALL. Eksploatacja wymaga również, aby osoba atakująca mogła umieścić spreparowany plik w lokalizacji czytelnej dla docelowego programu oraz aby środowisko przekroczyło granicę zaufania bez działania programu jako AT_SECURE. Przykładem jest serwer SSH, który akceptuje JĘZYK i JĘZYK od klientów poprzez dyrektywę AcceptEnv i ogranicza konto do wymuszonego polecenia; atakujący może to wykorzystać, aby uniknąć ograniczenia.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org