Serialization mismatches break DSA_PrivateToPublic and KDF_SRTP/SRTCP structured inputs

Abierto
#12 1 comentario 0 reacciones 0 asignados Ver en GitHub

@Kr0emer ya está trabajando en esto.

Desde el 1/12/2025.

  • #13 de @Kr0emer — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp

Línea de trabajo

Localice DSA_PrivateToPublic::Serialize y los métodos Serialize de KDF_SRTP/KDF_SRTCP, y luego compare el orden de sus campos con las rutas del generador y del mutador estructurado descritas en el issue. Confirme que g, p, priv e index sobreviven a la serialización estructurada y que las operaciones afectadas ya no reciben parámetros vacíos ni recurren a la mutación a nivel de bytes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

DSA_PrivateToPublic::Serialize only writes priv, but the generator emits p/g/priv and the wolfCrypt module expects p/g. Structured mutator also parses p/g/priv, so the fields get lost and the module receives empty/invalid p/g.
KDF_SRTP/KDF_SRTCP::Serialize do not write index, yet the generator fills it and the wolfCrypt implementations consume it. Structured mutator previously read the field, but it’s missing in the payload, causing misalignment and fallback to byte-level mutation.
Impact:

Structured mutations for these operations mostly fail or degrade to byte-level mutation.
Backends cannot use full parameters; coverage drops and OutOfData may occur.
Suggested fixes:

In DSA_PrivateToPublic::Serialize, serialize g, p, and priv in the same order as the generator/mutator.
In KDF_SRTP and KDF_SRTCP::Serialize, serialize index along with key/salt/kdr/key1-3Size.

Lenguaje dominante
C++
Estrellas
31
Forks
18
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de MozillaSecurity/cryptofuzz

Todos los issues de MozillaSecurity/cryptofuzz

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.