Trail of Bits reveló una falla de autorización en Provenance Blockchain que, según dijo, expuso 82 cuentas de activos en mainnet a toma de control. Un abuso exitoso podría permitir a alguien acuñar un token afectado o retirar activos mantenidos en depósito.
Esas cuentas de activos especiales, llamadas marcadores, gobiernan la oferta, los permisos y el saldo en depósito de un token. La empresa de seguridad dijo que la vulnerabilidad permitía a un usuario que no poseía ninguno de los tokens del marcador tomar sus permisos de administrador, acuñación y retiro, y luego actuar sobre ellos en una segunda transacción.
El error provino de una discrepancia entre dos registros del suministro de tokens. Para los marcadores no fijos, el módulo bancario de Provenance rastrea el suministro circulante en tiempo real, mientras que el campo de suministro del marcador puede permanecer en cero.
La verificación de autorización leyó el campo marcador obsoleto al comprobar si una cuenta poseía toda la oferta. Dado que el saldo de una nueva cuenta también era cero, la verificación trató el cero como igual al cero y aprobó el cambio de permiso.
Trail of Bits dijo que los 82 marcadores afectados tenían suministro almacenado cero mientras llevaban suministro en circulación real o activos en depósito.
El reembolso afectado de nhash divulgado ascendió aproximadamente a 30 cuatrillones de nhash, con un valor de alrededor de $500,000 a los precios de HASH cuando se descubrió el problema. Tres programas de la Fundación Provenance Blockchain tenían la mayor parte: grant0051 tenía aproximadamente 19,23 cuatrillones de nhash, provenance.validator.incentive.program tenía aproximadamente 8,56 cuatrillones, y grant0077 tenía aproximadamente 2,49 cuatrillones.
Un subconjunto distinto de 74 tokens, incluido dentro del total de 82, enfrentó riesgo de acuñación no autorizada. Abarcó stablecoins puenteadas, activos envueltos, depósitos de consorcio, participaciones hipotecarias tokenizadas y tokens de rendimiento.
Los ejemplos nombrados incluyen uusd.trading, uusdc.figure.se, nbtc.figure.se, cusd.deposit, cguaranteedrateomni, chomebridgeomni, nuva.ylds y uylds.fcc.
Trail of Bits describió un riesgo de inflación directo para marcadores de tipo moneda sin restricciones. Los tokens restringidos con requisitos de identidad enfrentaron riesgos de integridad de la oferta y solvencia, incluso si un atacante no podía transferir libremente las unidades recién creadas.

Trail of Bits dijo que descubrió la falla en marzo y la reportó a Provenance el 1 de abril. Indicó que una zero-supply guard lanzada con v1.28.0 el 1 de mayo bloqueó la ruta reportada contra los 82 marcadores identificados.
Un segundo cambio hizo que la verificación de autorización leyera la oferta en tiempo real desde el módulo del banco, y el proyecto lo incluyó en v1.29.0 el 8 de junio.
Los registros de GitHub muestran que los cambios de código fueron fusionados y lanzados. La divulgación de Trail of Bits no indica si el análisis de cadena encontró acceso no autorizado, acuñación o retiros, ni si notificó a los emisores y usuarios afectados.
La publicación Un error de saldo cero permitió que billeteras vacías tomaran el control de 82 activos de Provenance apareció primero en CryptoSlate.
