Sumário A lista de permissões IP ` PSI_ALLOWED` do phpSysInfo pode ser trivialmente contornada por qualquer atacante remoto não autêntico. A verificação de controle de acesso em `read_config.php` deriva o IP do cliente a partir dos cabeçalhos HTTP `X-Forwarded-For' controlados pelo atacante e `Client-IP' **before** caindo de volta para `REMOTE_ADDR'. Um atacante pode enviar "X- Forwarded- For: ` para se passar por um endereço confiável e obter acesso completo a todas as informações expostas do sistema, derrotando a única restrição de acesso baseada em IP que o aplicativo fornece. ## Componente afetado - Arquivo: `read_config.php` - Versão: todas as versões até e incluindo 3.4.x (corrente `main`) ## Descrição Quando ` PSI_ALLOWED` está configurado, `read_config.php` aplica uma lista de permissões IP. O IP do cliente é resolvido da seguinte forma:.

````php if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) { $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } senão { se (isset($_SERVER["HTTP_CLIENT_IP"])) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } senão { $ip = $_SERVER["REMOTE_ADDR"]; } } `````` Tanto `HTTP_X_FORWARDED_FOR` quanto `HTTP_CLIENT_IP` são cabeçalhos de solicitação totalmente controlados pelo atacante. Eles são confiados incondicionalmente e têm prioridade sobre ` REMOTE_ ADDR '. Não há conceito de um proxy inverso configurado/ confiável, então mesmo quando o phpSysInfo é exposto diretamente (sem proxy na frente), o cabeçalho falso ganha. Como resultado, a lista de licenças não fornece proteção real. ## Prova de Conceito Verificada contra o phpSysInfo ` 3.4.x- main- d 786 ab 2 ` executando em um container local do Docker (`php: 8.2 - apache`).

A implantação com a lista de permissões (em '[main]`) restrita a um endereço que o atacante não possui: ```ini; phpsysinfo.ini ([ principal] seção) ALLOWED= 8.8.8.8 ```. Solicite sem o cabeçalho falso — negado corretamente (o IP real do atacante é o gateway do container ` 172.17.0.1 `): ````bash $ curl -s 8080 /xml.phpї cabeça - c 200 Endereço IP do cliente ( 172.17.0.1 ) não permitido. ```.

Solicite com um falso `X-Forwarded-For` que corresponde à lista de licenças — bypass, informação completa do sistema devolvida: ````bash $ curl - s -H "X- Forwarded- For: 8.8.8.8 " 8080 /xml.phpї cabeça - c 200 ``` O mesmo bypass funciona com o cabeçalho `Client-IP` (`HTTP_CLIENT_IP`), que também é confiável antes de `REMOTE_ADDR`.

Impacto Qualquer atacante remoto não autenticado pode derrotar a restrição de acesso ` PSI_ALLOWED` e ler a informação completa do sistema exposta pelo phpSysInfo, incluindo nome de máquina, versão do kernel, modelo de CPU, layout de memória, sistemas de arquivos montados e todos os endereços de interface de rede. Esta informação é valiosa para reconhecimento e alvo de ataques adicionais. ## Remediação Use ` REMOTE_ ADDR` como IP de cliente autoritário por padrão. Apenas honre `X- Forwarded- For` / `Client- IP` quando o pedido se origina de uma lista explicitamente configurada de proxies confiáveis, e quando honrá- lo, analise a entrada correta da cadeia em vez de confiar em todo o cabeçalho. Direção de exemplo: ``` php $ip = $_SERVER["REMOTE_ADDR"]; se (definido('PSI_TRUSTED_PROXIES') & & & in_ array($ip, $fided_proxies, true) && isset($_SERVER["HTTP_X_FORWARDED_FOR"]) { // toma o salto mais desconfiado da cadeia XFF $parts = array_map('trim', explode(',', $_SERVER["HTTP_X_FORWARDED_FOR"]); $ip = end($parts); } `````.

Descoberta / Crédito - Relatório de: Muhammed Mirac Kayıkci - Comunicação coordenada; nenhum sistema de terceiros foi testado. Verificação realizada apenas contra uma implantação local do Docker. Registro de aconselhamento: GHSA- 786 w- p 5 pm- cvgh. Identificadores relacionados: CVE- 2026 - 55584. Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 28 T 18: 30: 55.000 Z e lista a sua última modificação como 2026 - 08 - 28 T 18: 30: 55.000 Z.

Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N. Informações sobre software e versão afetadas: pacote de pacotes phpsysinfo/phpsysinfo — ECOSYSTEM: introduzido 0, corrigido 3.4.6. Classificação e evidência: identificadores de fraqueza CWE- 290. O registro contém 4 suporte de referências nestes tipos: WEB, PACKAGE.