Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[Security] Six confirmed vulnerabilities remain in latest main

Aberta
#273 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@rahmaniramin550-ai já está trabalhando nisso.

Desde 2/10/2026.

  • #274 de @rahmaniramin550-ai — aberto

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
typescript
Domínio
cli, security

Direção de pesquisa

Review the six reported findings in src/utils/image.ts, src/commands/speech/synthesize.ts, src/files/download.ts, src/config/loader.ts, src/update/self-update.ts, and src/client/endpoints.ts. Start by comparing these files with the referenced audited commit and reproduce the stated behavior using the reporter's private PoCs when maintainers provide a private channel. Done means the six vulnerabilities are remediated and focused regression tests cover them.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Hello maintainers,

I am reporting six security findings that remain in the latest upstream main commit 06e47c70b76f419196678367dae62acca4c94076 (September 29, 2026). I compared the affected source files with the previously audited commit 33453cf123927f41c00e1935450e504d8a630763; all seven affected files are unchanged, so the original PoCs remain applicable.

The findings are:

  1. Vision image SSRF and excessive buffering: src/utils/image.ts fetches arbitrary HTTP(S) image URLs with the CLI's network privileges and buffers the complete response before applying the nominal size limit. A caller who can influence the image URL may reach local/private services and cause excessive memory use.

  2. Speech subtitle SSRF: src/commands/speech/synthesize.ts fetches the API-provided subtitle_file URL directly. A malicious or compromised response can make the CLI contact local or private network services.

  3. Media download SSRF: src/files/download.ts accepts API-provided download URLs without rejecting local/private destinations, allowing an attacker-influenced response to make the CLI fetch and save unintended data.

  4. Config temporary-file symlink overwrite: src/config/loader.ts uses a predictable config.json.tmp path. A local attacker able to plant a symlink can redirect credential/config data into another writable file.

  5. Self-update temporary-file symlink overwrite: src/update/self-update.ts uses a predictable /tmp/mmx-update-<timestamp> path and normal write semantics. A local attacker can redirect update contents into another writable file.

  6. Authenticated query-parameter injection: src/client/endpoints.ts interpolates task/file identifiers into URLs without encoding. A crafted identifier can add parameters to a credentialed request and change how the server interprets it.

The first three findings are network-request issues. The next two require local access to manipulate temporary files. The sixth requires an attacker-influenced or compromised identifier source. The local PoCs reproduced the behavior against clean upstream code using only loopback mock servers and temporary files. No production internal service, metadata endpoint, paid generation, upload, destructive request, API key, or bearer token is included here.

Proposed fixes and focused regression tests are available in a private local worktree. GitHub private vulnerability reporting is disabled for this repository, and issue #265 requested a private channel but has received no response. Please acknowledge this report, route it to the CLI/security maintainers, and provide a private channel for the complete PoCs and remediation discussion. Please also confirm whether MiniMax-AI/cli is in scope for a security reward or bounty.

I will keep the detailed exploit material private while waiting for your instructions.

Reporter: Jonathan Shi (x4evexnol)

Linguagem predominante
TypeScript
Estrelas
2.2k
Forks
187
Merge médio
2h 19min
PRs com merge (30d)
2

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de MiniMax-AI/cli

Todas as issues de MiniMax-AI/cli

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.