Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
tough-cookie-2.5.0-cve-2023-26136-fix — Correção de segurança para CVE-2023-26136 no tough-cookie 2.5.0 - Correção da vulnerabilidade de poluição de protótipo com compatibilidade retroativa | Kitploit
Ferramentas/GitHubGitHub/uriyahav/tough-cookie-2.5.0-cve-2023-26136-fix
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoSegurança WebPapers e PesquisaAprendizado e Educação
GitHuburiyahav/tough-cookie-2.5.0-cve-2023-26136-fix

tough-cookie-2.5.0-cve-2023-26136-fix

Correção de segurança para CVE-2023-26136 no tough-cookie 2.5.0 - Correção da vulnerabilidade de poluição de protótipo com compatibilidade retroativa

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
3há 1 anoAinda não revisado
Compartilhar

Correção da CVE-2023-26136 para tough-cookie 2.5.0

Visão Geral da Missão

Este projeto aborda a CVE-2023-26136, uma vulnerabilidade crítica de poluição de protótipo nas versões do tough-cookie anteriores a 4.1.3. A vulnerabilidade afeta o aplicativo web da Penguin Software Inc., que utiliza [email protected] para processamento de cookies.

Descrição da Vulnerabilidade

A CVE-2023-26136 é uma vulnerabilidade de poluição de protótipo que ocorre quando o CookieJar é usado com rejectPublicSuffixes=false. O problema surge da inicialização inadequada de objetos na classe MemoryCookieStore, permitindo que atacantes injetem propriedades no Object.prototype por meio de domínios de cookies maliciosamente elaborados.

Detalhes Técnicos

A vulnerabilidade existe em lib/memstore.js, onde os cookies são armazenados usando objetos JavaScript simples ({}). Como esses objetos herdam de Object.prototype, os atacantes podem explorar isso definindo cookies com domínios como __proto__, constructor ou prototype, resultando em poluição de protótipo.

Solução

Implementação do Patch

A correção substitui todas as ocorrências de {} por Object.create(null) na classe MemoryCookieStore:

root@kitploit:~
// Before (vulnerable)
this.idx = {};

// After (fixed)
this.idx = Object.create(null);

Essa alteração evita a poluição de protótipo ao criar objetos sem cadeia de protótipo, isolando efetivamente o armazenamento de cookies de heranças não intencionais.

Arquivos Modificados

  • lib/memstore.js: Inicialização de objetos atualizada para usar Object.create(null)

Estrutura do Projeto

root@kitploit:~
├── README.md                    # This file
├── changes.diff                 # Git-compatible diff file
├── test-cve-2023-26136.js      # Unit test for the fix
├── tough-cookie/
│   ├── index.js                 # Exploit demonstration
│   ├── Original v2.5.0/         # Original vulnerable version
│   ├── v2.5.0-PATCHED/          # Patched version
│   │   └── tough-cookie-2.5.0.tgz  # Packed version
│   └── package.json
└── mission.txt                  # Original mission requirements

Instalação e Testes

1. Versão Empacotada (.tgz)

A versão corrigida está disponível como tough-cookie/v2.5.0-PATCHED/tough-cookie-2.5.0.tgz.

Para instalar:

root@kitploit:~
npm install ./tough-cookie/v2.5.0-PATCHED/tough-cookie-2.5.0.tgz

2. Execução da Suíte de Testes

A suíte de testes original do tough-cookie deve passar. Para executar os testes:

root@kitploit:~
cd tough-cookie/v2.5.0-PATCHED
npm install
npm test

Nota: O tough-cookie 2.5.0 original não inclui um diretório de testes nesta distribuição, mas a versão corrigida mantém compatibilidade total com a API original.

3. Teste Unitário para a Correção da Vulnerabilidade

Execute o teste unitário personalizado para verificar a correção:

root@kitploit:~
node test-cve-2023-26136.js

Saída esperada:

root@kitploit:~
Testing CVE-2023-26136 fix...
✅ CVE-2023-26136 fix verified: No prototype pollution detected
✅ Test passed: The vulnerability has been successfully patched

4. Demonstração do Exploit

O projeto inclui uma demonstração do exploit em tough-cookie/index.js:

root@kitploit:~
cd tough-cookie
node index.js

Isto testará tanto a versão vulnerável original quanto a versão corrigida, mostrando:

  • EXPLOITED SUCCESSFULLY para a versão original
  • EXPLOIT FAILED para a versão corrigida

Documentação das Alterações

changes.diff

O arquivo changes.diff contém um diff compatível com git que pode ser aplicado usando:

root@kitploit:~
git apply changes.diff

Este diff inclui apenas as alterações necessárias para corrigir a vulnerabilidade, sem quaisquer modificações não intencionais.

Detalhes do Exploit

O exploit funciona da seguinte forma:

  1. Criando um CookieJar com rejectPublicSuffixes: false
  2. Definindo um cookie malicioso com o domínio __proto__
  3. Isso polui a cadeia do Object.prototype
  4. Novos objetos herdam as propriedades poluídas

Danos Potenciais:

  • Manipulação do comportamento da aplicação
  • Bypasses de segurança
  • Negação de serviço
  • Corrupção de dados

Compatibilidade com Node.js

✅ Testado e verificado no Node.js 20 (LTS)

Informações do Repositório

Repositório GitHub: Fork do repositório tough-cookie

Tag Git: v2.5.0-patched-cve-2023-26136-fix

Experiência em CI/CD

Ferramentas de Integração Contínua Utilizadas:

  1. GitHub Actions - Nível especialista

    • Testes e implantação automatizados
    • Varredura de segurança e gerenciamento de dependências
    • Testes em múltiplas plataformas
  2. Jenkins - Nível avançado

    • Desenvolvimento e manutenção de pipelines
    • Containerização com Docker
    • Integração com diversas ferramentas
  3. Travis CI - Nível intermediário

    • Automação de builds
    • Execução de testes
    • Fluxos de trabalho de implantação
  4. CircleCI - Nível intermediário

    • Configuração de pipelines de CI/CD
    • Suporte a Docker
    • Execução de jobs em paralelo
  5. GitLab CI/CD - Nível avançado

    • Desenvolvimento de pipelines
    • Implantação em Kubernetes
    • Integração de varredura de segurança

Ferramentas Adicionais:

  • Docker - Nível especialista (containerização e orquestração)
  • Kubernetes - Nível avançado (implantação e escalonamento)
  • SonarQube - Nível intermediário (análise de qualidade de código)
  • Snyk - Nível intermediário (varredura de vulnerabilidades de segurança)

Referências

  • CVE-2023-26136 - NVD
  • Repositório do tough-cookie no GitHub
  • Guia de Segurança sobre Poluição de Protótipo

Licença

Este projeto mantém a licença original do tough-cookie (BSD-3-Clause) enquanto adiciona a correção de segurança.


Nota: Este é um patch focado em segurança que mantém total compatibilidade retroativa enquanto elimina a vulnerabilidade CVE-2023-26136.

Baixar ferramenta