CVE-2026-80430
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Niewłaściwe rozwiązanie łącza przed dostępem do pliku w ścieżce pomostowej źródła przeciągania protokołu przeciągnij i upuść w kitty od wersji 0.47.0 przed 0.49.0 umożliwia programowi piszącemu do terminala tworzenie plików i katalogów w ścieżkach poza katalogiem pomostowym, ponieważ subdir_data_for_drag() w kitty/dnd.c rozwiązuje potomka drzewa elementów wystawianych, konstruując ciąg ścieżki i otwierając go za pomocą Safe_open(path, O_DIRECTORY | O_RDONLY, 0), zamiast chodzić po drzewie po jednym komponencie na raz, więc klient, który deklaruje dwa wpisy o tej samej nazwie, pierwszy dowiązanie symboliczne, którego celem jest dowolna ścieżka bezwzględna, a drugi katalog, powoduje niepowodzenie mkdirat() z EEXIST, co kod ignoruje i powoduje, że kolejne rozpoznawanie ścieżki podąża za dowiązaniem symbolicznym i zwraca deskryptor katalogu poza katalogiem pomostowym, który jest następnie przekazywany jako argument dirfd do metody add_payload() i używany dla każdego dalsze tworzenie operacji na tym elemencie i jego elementach potomnych. Nazwy wpisów są oczyszczane pod kątem separatorów ścieżek i składników kropek, ale elementy docelowe dowiązań symbolicznych nie są sprawdzane. Pliki są tworzone za pomocą O_CREAT | O_WRONLY | O_EXCL w trybie 0644, więc istniejące pliki nie mogą zostać nadpisane, a katalogi są tworzone za pomocą mkdirat() w trybie 0755, więc osoba atakująca może utworzyć katalogi pośrednie, które wcześniej nie istniały. Powoduje to utworzenie plików i katalogów w dowolnej ścieżce zapisywalnej przez użytkownika uruchamiającego kitty, pod warunkiem, że celem dowiązania symbolicznego jest istniejący katalog.
>_ Słabości (CWE)
>_ Referencje
- https://github.com/kovidgoyal/kitty/commit/3c3133d3399257492347f535d8d191680803b25d
- https://github.com/kovidgoyal/kitty/commit/554908ed0b4d010cf9821c75449c7f7c79a6170a
- https://github.com/kovidgoyal/kitty/releases/tag/v0.49.0
- https://secur0.com/en/cna/cve-list/cve-2026-80430-kitty-dnd-symlink-traversal
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