Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-42461 PoC — Elliptic 安全漏洞

Source
Associated Vulnerability
Title:Elliptic 安全漏洞 (CVE-2024-42461)
Description:Elliptic是Fedor Indutny个人开发者的一个 javascript 中的快速椭圆曲线密码库。 Elliptic 6.5.6版本存在安全漏洞,该漏洞源于允许使用BER编码签名,因此出现了ECDSA签名可延展性。
Description
Se han identificado problemas en la verificación de firmas ECDSA y EDDSA en el proyecto Wycheproof. Las comprobaciones ausentes durante la etapa de decodificación de firmas permiten agregar o eliminar bytes cero, lo que afecta la capacidad de envío de correos. 
Readme
# Solución para Problemas de Verificación de Firmas ECDSA y EDDSA

## Descripción

Se han identificado problemas en la verificación de firmas ECDSA y EDDSA en el proyecto Wycheproof. Las comprobaciones ausentes durante la etapa de decodificación de firmas permiten agregar o eliminar bytes cero, lo que afecta la capacidad de envío de correos. Esta actualización en el archivo `signature.js` soluciona estos problemas al verificar la longitud de las firmas.

## Instalación

1. Clona el repositorio:
   ```sh
   git clone https://github.com/tu_usuario/tu_repositorio.git
2. Navega al directorio del proyecto:
   cd tu_repositorio
3. Instala las dependencias:
   npm install
**Uso**
1. Importa la biblioteca elliptic:
   var elliptic = require('elliptic');
   var eddsa = elliptic.eddsa;
   var ec = new elliptic.ec('secp256k1')
2. Carga la clave pública y verifica las firmas:
   var ed25519 = new eddsa('ed25519');
   var key = ed25519.keyFromPublic('7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa', 'hex');

// Verificación de firma EDDSA
   var msg = '54657374';
   var sig = '7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d00';
   console.log(key.verify(msg, sig));

// Verificación de firma ECDSA
   var hash = require('hash.js');
   var toArray = elliptic.utils.toArray;
   var hashMsg = hash.sha256().update(toArray(msg, 'hex')).digest();
   var pubKey = ec.keyFromPublic('04b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9', 'hex');
   console.log('Valid signature: ' + pubKey.verify(hashMsg, sig));



File Snapshot

[4.0K] /data/pocs/f9cf4ec8dc4dcc67be282a2f4ed9424b52294f5f ├── [1.7K] README.md ├── [1.5K] Sigma Rule └── [3.2K] Solutions 0 directories, 3 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.