Wysoka

CodeIgniter: Path traversal in UploadedFile::move() when using client-provided filenames

  • Ujawniono: 07.08.2026
  • Aktualizacja: 11.10.2026 10:22

Impact

In affected versions, calling UploadedFile::move() without a second argument uses the client-provided filename without sanitization. Depending on the destination path and server configuration, an attacker can supply a filename containing path traversal sequences (e.g. ../../public/shell.php) to write uploaded content outside the intended upload directory.

The patch sanitizes this default (no-argument) path.

Note: The patch only sanitizes the filename when no second argument is passed. If your application explicitly passes a client-provided name as the second argument, you remain responsible for sanitizing it - the patch does not (and cannot) sanitize a caller-supplied filename:

php
// Unsafe - even after upgrading:
$file->move(WRITEPATH . 'uploads', $file->getName());
$file->move(WRITEPATH . 'uploads', $file->getClientName());

Patches

Upgrade to v4.7.4 or later.

Workarounds

If you cannot upgrade immediately, use a generated filename or sanitize the client filename before passing it to move().

Use a generated filename:

php
$file->move(WRITEPATH . 'uploads', $file->getRandomName());

Or sanitize the client filename before passing it to move():

php
helper('security');

$name = sanitize_filename($file->getClientName());
$file->move(WRITEPATH . 'uploads', $name);

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka Composer codeigniter4/framework < 4.7.4 4.7.4

Odnośniki

Ocena CVSS 7.5/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Słabość (CWE)
CWE-22
Platforma
Composer
Paczka
codeigniter4/framework
Ujawniono
07.08.2026
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-hhmc-q9hp-r662 - CC BY 4.0

Historia podatności: codeigniter4/framework

Wszystkie opisane podatności tej paczki (Paczka Composer), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (19) w archiwum
Wszystkich wpisów
19
Pierwsza → ostatnia
01.2022 08.2026
Bez poprawki
1
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 6
  • Wysoka 8
  • Średnia 4
  • Niska 1

Ujawnienia w latach

  1. 2022: 9
  2. 2023: 2
  3. 2024: 1
  4. 2025: 2
  5. 2026: 5
Istotność:
  1. CodeIgniter: Path traversal in UploadedFile::move() when using client-provided filenames ten wpis
    Wysoka · 7.5 CVE-2026-63222 < 4.7.4 4.7.4
  2. Krytyczna · 9.8 CVE-2025-54418 < 4.6.2 4.6.2
  3. Wysoka · 7.5 CVE-2024-29904 < 4.4.7 4.4.7
  4. Wysoka · 8.6 CVE-2022-46170 < 4.2.11 4.2.11
  5. Wysoka · 7.0 CVE-2022-23556 < 4.2.11 4.2.11
  6. Wysoka · 8.8 CVE-2020-10793 <= 4.0.0 brak poprawki
  7. Wysoka · 7.5 CVE-2017-1000247 >= 3.1.3, < 3.1.4 3.1.4
  8. Krytyczna · 9.4 CVE-2022-24711 < 4.1.9 4.1.9
  9. Wysoka · 7.7 CVE-2022-21647 < 4.1.6 4.1.6

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.