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
Open-Source-Seal-Security — Corrige o pacote de código aberto que usa tough-cookie 2.5.0 - CVE-2023-26136, | Kitploit
Ferramentas/GitHubGitHub/ronmadar/open-source-seal-security
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoSegurança da Cadeia de SuprimentosAprendizado e Educação
GitHubronmadar/open-source-seal-security

Open-Source-Seal-Security

Corrige o pacote de código aberto que usa tough-cookie 2.5.0 - CVE-2023-26136,

Ver Repositório

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 →
Compartilhar
há 2 anosAinda não revisado

SEAL SECURITY PROJECT : Tarefa de Engenheiro Open Source

Criar nova versão do pacote tough-cookie V2.5.0, para corrigir a vulnerabilidade crítica CVE-2023-26136, projeto escrito em Node.js V20

As versões do pacote tough-cookie anteriores à versão 4.1.3 são vulneráveis a Prototype Pollution devido ao tratamento inadequado de Cookies ao usar CookieJar no modo rejectPublicSuffixes=false. Esse problema surge da maneira como os objetos são inicializados.

https://nvd.nist.gov/vuln/detail/CVE-2023-26136

Prototype Pollution é uma vulnerabilidade que afeta JavaScript. Prototype Pollution refere-se à capacidade de injetar propriedades em protótipos de construções existentes da linguagem JavaScript, como objetos. JavaScript permite que todos os atributos de Object sejam alterados, incluindo seus atributos mágicos como proto, constructor e prototype. Um atacante manipula esses atributos para sobrescrever, ou poluir, o protótipo do objeto base de uma aplicação JavaScript, injetando outros valores. As propriedades em Object.prototype são então herdadas por todos os objetos JavaScript através da cadeia de protótipos. Quando isso acontece, isso leva a uma negação de serviço ao disparar exceções JavaScript, ou interfere no código-fonte da aplicação para forçar o caminho de código que o atacante injeta, levando à execução remota de código.

Existem duas maneiras principais pelas quais a poluição de protótipos ocorre:

  • Mesclagem recursiva insegura de Object
  • Definição de propriedade por caminho

nota importante: https://github.com/salesforce/tough-cookie/issues/282 https://security.snyk.io/package/npm/tough-cookie/2.5.0

=> Para corrigir a vulnerabilidade na classe MemoryCookieStore, você precisa modificar o método putCookie para evitar prototype pollution quando cookie.domain estiver definido como proto.

https://github.com/salesforce/tough-cookie/pull/283

a. Altere tough_cookie_2.5.0\node_modules\tough-cookie\lib\memstore.js

Todas as ocorrências de criação de novos objetos em memstore.js foram alteradas de {} Object.create(Object.prototype) para Object.create(null) para que estejamos usando instâncias de objeto que não possuem uma propriedade de protótipo que possa ser poluída.

  • Exemplo: console.log(a = Object.create(null)); no objeto a - Sem propriedades (ou __ proto __)

b. Criado um novo arquivo, /node_modules/tough-cookie/lib/test-unit.js usado em vanillajs para isso encontrado na pasta de testes no arquivo cookie_jar_test.js "Issue #282 - Prototype pollution"

Comando: node test-unit.js

c. Criado um novo arquivo, /node_modules/tough-cookie/lib/testVerifyVulnerable.js verificar se o comportamento vulnerável foi corrigido.

Comando: node testVerifyVulnerable.js

  1. change.diff : https://github.com/ronmadar/Open-Source-Seal-Security/blob/cf768f1932f087c30ebec7fe60c3fca323b4e54b/change.diff

a. Pacote normal tough-cookie V 2.5.0

Comando: npm install [email protected] && node index.js

b. Pacote compactado tough-cookie V 2.5.0 em formato tgz com alterações

Comando: npm install ./tough-cookie-2.5.0-PATCHED.tgz && node index.js

c.

  • Vulnerability: A vulnerabilidade surge ao modificar diretamente o Object. prototype adicionando uma nova propriedade newProperty. Isso significa que todos os objetos no ambiente JavaScript herdarão essa propriedade, potencialmente alterando seu comportamento de forma não intencional.

Dano Potencial -

  • Prototype Pollution: Ao adicionar propriedades diretamente ao Object. prototype, existe o risco de poluir toda a cadeia de protótipos. Isso pode levar a comportamentos inesperados em toda a aplicação, pois qualquer objeto que percorra a cadeia de protótipos pode ser afetado.

  • Riscos de Segurança: Em um contexto de aplicação web, a prototype pollution pode ser explorada por atacantes para manipular objetos e propriedades, potencialmente levando a vulnerabilidades de segurança como escalada de privilégios, vazamento de informações.

  • Problemas de Compatibilidade: Modificar protótipos principais como Object. prototype pode introduzir problemas de compatibilidade com outras bibliotecas ou frameworks que dependem do comportamento padrão. Isso pode causar erros ou comportamentos inesperados ao integrar ou atualizar dependências.

d. escrito acima.

  1. Um link para o seu repositório GitHub forkado do tough-cookie 2.5.0 https://github.com/ronmadar/tough-cookie

Como instalar este projeto

  1. clone este projeto
Baixar ferramenta