Skip to content

Rupix v0.6.3 — release de seguridad

Choose a tag to compare

@xxxedu21xxx-bot xxxedu21xxx-bot released this 04 Oct 08:21
· 69 commits to main since this release

Rupix v0.6.3 — Release de seguridad: un paquete de 9 bytes podía apagar un nodo

Actualiza en cuanto puedas. Hasta v0.6.2, cualquier peer podía apagar tu nodo enviándole un mensaje de red malformado de 9 bytes. Lo encontró nuestro propio fuzzing la primera noche que corrió (3-oct-2026): un conversor heredado de kaspad leía un campo opcional sin comprobar que existiera, el bucle de recepción convierte cualquier mensaje antes de saber qué es, y el único atrapa-pánicos del proceso lo apaga. Sin cambio de consenso. Misma wallet, mismas claves, mismos datos: solo cambia el binario.

Seguridad

  • Raíz: RpcFeeEstimate.toAppMessage comprueba sus campos; un mensaje malformado es un error limpio, no un pánico.
  • Red de seguridad: si cualquier otro conversor entra en pánico por un mensaje que el fuzzing aún no encontró, se cierra esa conexión y queda en el log; el nodo sigue.
  • Tests: TestMensajeDe9BytesNoTiraElNodo (los 9 bytes exactos), TestConversionDeRedNoTiraElNodo; el caso vive en testdata/fuzz/. Se avisa en privado a los mantenedores de kaspad.

Fuzzing (hueco #6 de ESPECIFICACION.md)

Cinco objetivos con go test -fuzz: topes, sello de gemas, RupixHeavyHash, rango de la matriz y mensajes de red; tools/fuzz-noche.sh los corre en serie. Primera noche: cuatro aguantaron 2 h cada uno; el quinto encontró lo de arriba.

Wallet

  • Ya no existe --password en ningún comando: la contraseña se pide siempre en pantalla.
  • dump-unencrypted-data (muestra la frase semilla): sin --yes; aviso, confirmación explícita y recordatorio de limpiar la pantalla, en español o inglés.
  • Pistas con la red correcta (rupixctl --testnet …); textos de ayuda corregidos.

Verificación

  • govulncheck ./... en cada push del CI. Herencia de Kaspa apartada a retirados/.
  • Suite completa en verde (65 paquetes). Binarios reproducibles: tools/verificar-binarios.sh v0.6.3 (Go 1.26.6).

Detalle completo en CHANGELOG.md. No confíes, verifica.