Alta

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

  • Publicada: 07.08.2026
  • Actualizado: 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);

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de Composer codeigniter4/framework < 4.7.4 4.7.4

Referencias

Puntuación CVSS 7.5/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Debilidad (CWE)
CWE-22
Plataforma
Composer
Paquete
codeigniter4/framework
Publicada
07.08.2026
Actualizado
11.10.2026 10:22

Fuentes y licencias

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

Historial de vulnerabilidades: codeigniter4/framework

Todas las vulnerabilidades publicadas de este paquete (Paquete de Composer), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (19) en el archivo
Entradas en total
19
Primera → última
01.2022 08.2026
Sin corrección
1
Explotada en ataques
0

Distribución por gravedad

  • Crítica 6
  • Alta 8
  • Media 4
  • Baja 1

Divulgaciones por año

  1. 2022: 9
  2. 2023: 2
  3. 2024: 1
  4. 2025: 2
  5. 2026: 5
Gravedad:
  1. CodeIgniter: Path traversal in UploadedFile::move() when using client-provided filenames esta entrada
    Alta · 7.5 CVE-2026-63222 < 4.7.4 4.7.4
  2. Crítica · 9.8 CVE-2025-54418 < 4.6.2 4.6.2
  3. Alta · 7.5 CVE-2024-29904 < 4.4.7 4.4.7
  4. Alta · 8.6 CVE-2022-46170 < 4.2.11 4.2.11
  5. Alta · 7.0 CVE-2022-23556 < 4.2.11 4.2.11
  6. Alta · 8.8 CVE-2020-10793 <= 4.0.0 sin corrección
  7. Alta · 7.5 CVE-2017-1000247 >= 3.1.3, < 3.1.4 3.1.4
  8. Crítica · 9.4 CVE-2022-24711 < 4.1.9 4.1.9
  9. Alta · 7.7 CVE-2022-21647 < 4.1.6 4.1.6

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.