← back
CVE-2024-3272criticalunder attackCWE-798

D-Link DNS-320L/DNS-325/DNS-327L/DNS-340L HTTP GET Request nas_sharing.cgi hard-coded credentials

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9.8epss 98%
from disclosure to weapon47 days
Published on NVDApr 4
1st PoC+47d
CISA KEV+7d
exploitation probability
98%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
3 public exploit(s)
Action required by CISAfederal deadline: 2024-05-02

This vulnerability affects legacy D-Link products. All associated hardware revisions have reached their end-of-life (EOL) or end-of-service (EOS) life cycle and should be retired and replaced per vendor instructions.

Summary

Falha de credenciais fixas no cgi-bin/nas_sharing.cgi de NAS D-Link legados (DNS-320L, DNS-325, DNS-327L, DNS-340L) permite bypass total de autenticação usando o usuário embutido "messagebus" com senha vazia. Isolada, ela já concede acesso autenticado à interface de compartilhamento; combinada com a injeção de comando explorada em paralelo (CVE-2024-3273, mesmo endpoint), resulta em execução remota de código sem qualquer credencial legítima. O CVSS 9.8 é coerente porque não há pré-condição de rede especial nem interação do usuário — só alcançar a porta HTTP do dispositivo.

Technical detail

A vulnerabilidade está no script CGI /cgi-bin/nas_sharing.cgi, que processa requisições HTTP GET para operações de compartilhamento de arquivos nos NAS D-Link. O binário contém uma conta hard-coded: ao enviar o parâmetro user=messagebus com passwd vazio, o script trata a requisição como autenticada, ignorando qualquer mecanismo real de login. Classifica-se como CWE-798 (Use of Hard-coded Credentials).

O pesquisador que publicou o achado (netsecfish) documentou que esse mesmo endpoint aceita, através do parâmetro cmd, códigos de operação que disparam ações administrativas, e que o parâmetro system recebe um valor codificado em base64 interpretado como comando de sistema (essa parte específica de injeção de comando é rastreada como CVE-2024-3273, CWE-77, mas as duas falhas convivem no mesmo binário e são exploradas juntas na prática).

O atacante não controla lógica de negócio complexa: controla inteiramente a querystring da requisição GET — usuário, senha (vazia) e, quando presente, o payload de comando codificado. Não há validação de origem, token CSRF ou verificação de sessão que bloqueie a chamada direta ao CGI.

How it’s exploited

O vetor é uma única requisição HTTP GET não autenticada contra /cgi-bin/nas_sharing.cgi, acessível a qualquer atacante com conectividade de rede à interface de administração do dispositivo — não exige VPN, credencial prévia nem interação do usuário-vítima. A complexidade de exploração é baixa: o PoC público do descobridor mostra a estrutura exata da requisição (parâmetros user, passwd e, no caso combinado, cmd e system), e há template Nuclei disponível, o que reduz a exploração a scan automatizado em massa.

Na prática documentada pelos pesquisadores, o encadeamento das duas falhas (credencial fixa + injeção via parâmetro system) permite execução arbitrária de comando com privilégios do processo CGI, tipicamente root nesses NAS. O relato original menciona mais de 92 mil dispositivos expostos na internet no momento da divulgação, o que explica a inclusão imediata no catálogo KEV da CISA — há confirmação de exploração ativa in the wild.

Versions

Affected
DNS-320L (firmwares até 20240403, incluindo versões 1.11, 1.03.0904.2013 e 1.01.0702.2013), DNS-325 (versão 1.01), DNS-327L (versões 1.09 e 1.00.0409.2013), DNS-340L (versão 1.08) — todos os hardware revisions, conforme listado pelo fornecedor no SAP10383.
Fixed in
Nenhuma. Todos os modelos afetados estão em End of Service Life/End of Life confirmado pelo fornecedor; não há e não haverá firmware corrigido.

How to protect

Não existe patch. O fornecedor confirmou que DNS-320L, DNS-325, DNS-327L e DNS-340L (e toda a linha legada listada no SAP10383) atingiram fim de suporte (EOS/EOL) antes da divulgação e não receberão firmware corrigido. A recomendação oficial da D-Link é retirar e substituir o equipamento — não há versão de firmware que remova a credencial hard-coded.

Como controle compensatório real, para quem não pode substituir o dispositivo de imediato: isolar o NAS da internet (nunca expor a interface de gerência/CGI diretamente), bloquear acesso à porta HTTP/HTTPS de administração por firewall restringindo a IPs de gerência confiáveis, e desligar qualquer recurso de acesso remoto/DDNS habilitado no dispositivo. Trocar a senha do usuário administrativo do painel não mitiga nada, porque a falha está numa conta de sistema paralela embutida no binário — esse é o mito a descartar: não é uma senha padrão que se troca pela interface, é uma credencial fixa no código do CGI.

O due date do CISA KEV (2024-05-02) reforça a urgência: para redes federais dos EUA a ação exigida também foi retirada do equipamento, não atualização, porque não existe update disponível.

How to detect

Procurar em logs de acesso HTTP/web do dispositivo (quando existentes) por requisições GET para /cgi-bin/nas_sharing.cgi contendo user=messagebus na querystring, especialmente acompanhadas de cmd= e de um parâmetro system= com valor longo em base64 — esse padrão é a assinatura do PoC público e do template Nuclei em circulação. Como os dispositivos em questão têm logging local limitado e raramente enviam logs a um SIEM central, a ausência de log não indica ausência de tentativa; monitorar no perímetro de rede (proxy, firewall, IDS) por essa string de requisição é mais confiável do que depender do log do próprio NAS.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
** UNSUPPORTED WHEN ASSIGNED ** A vulnerability, which was classified as very critical, has been found in D-Link DNS-320L, DNS-325, DNS-327L and DNS-340L up to 20240403. This issue affects some unknown processing of the file /cgi-bin/nas_sharing.cgi of the component HTTP GET Request Handler. The manipulation of the argument user with the input messagebus leads to hard-coded credentials. The attack may be initiated remotely. The exploit has been disclosed to the public and may be used. The associated identifier of this vulnerability is VDB-259283. NOTE: This vulnerability only affects products that are no longer supported by the maintainer. NOTE: Vendor was contacted early and confirmed immediately that the product is end-of-life. It should be retired and replaced.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.