php / php/php-src

Can open files using invalid paths

Abierto
#16,622 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Bug Category: Filesystem Category: Streams
Lenguaje dominante
C
Estrellas
40.4k
Forks
8.1k
Merge medio
2 d 13 h
PR fusionados (30 d)
96

Descripción

Description

The path / /../ /../ /../ /../path/to/file is considered invalid by some file check functions:

<?php

is_file("/ /../ /../ /../ /../path/to/file"); // -> false
realpath("/ /../ /../ /../ /../path/to/file"); // -> false
filesize("/ /../ /../ /../ /../path/to/file"); // -> false

However, the path can actually be used to open /path/to/file :

<?php
echo file_get_contents("/ /../ /../ /../ /../path/to/file");

$res = fopen("/ /../ /../ /../ /../path/to/file", "r");
echo fread($res, 1024);
PHP Version

< 8.3

Operating System

No response

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Reproducir la ruta exacta del issue y comparar file_get_contents() y fopen() con is_file(), realpath() y filesize(). Como no se nombran archivos de código fuente ni pruebas, primero localizar los puntos de entrada para la apertura de archivos PHP y la validación de rutas, y después añadir cobertura que muestre si estas APIs deberían gestionar la ruta de forma coherente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
c, php
Área
backend
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.