Resultados para “monero”
21 resultado(s)
Monero: rescan_spent de monero-wallet-rpc se fía de un nodo no confiable y permite desanonimizar un gasto
El método JSON-RPC rescan_spent de monero-wallet-rpc no comprobaba si el nodo era de confianza. Un nodo remoto malicioso podía marcar como no gastada una salida ya gastada y, al cruzar dos anillos con la misma key image, identificar la entrada real.
7 min
Monero: lectura fuera de límites en la pila del RPC is_key_image_spent por falta de un return
El manejador on_is_key_image_spent del nodo de Monero comprobaba el tamaño de cada key image pero no salía de la función si era incorrecto, y copiaba 32 bytes desde un búfer más pequeño. Lo encontró un fuzzing financiado por MAGIC Grants.
3 min
Monero: un block_blob demasiado corto en la llamada RPC calc_pow tumba el nodo monerod
La llamada RPC calc_pow de monerod aceptaba un block_blob de menos de 43 bytes, llegaba al hash Cryptonight variante 1 y el proceso terminaba con _exit(1). Lo encontró el fuzzing de Ada Logics para MAGIC Grants.
3 min
Monero: un fallo al contar conexiones salientes permite tumbar todos los pares de salida de un nodo
Los nodos de Monero hasta la v0.18.4.0 contaban como salientes las conexiones temporales usadas solo para enviar Ping. Inundándolos de Handshakes, un atacante les hacía cortar sus pares legítimos, un primer paso hacia un ataque eclipse.
5 min
Monero: llenar la cola de envío de monerod dormía todos los hilos P2P y dejaba el nodo sin servicio
Pidiendo lotes grandes de bloques, incluso antes del handshake, un atacante llenaba la cola de envío de cada conexión de monerod y hacía dormir unos 6 segundos a cada hilo P2P, hasta bloquearlos todos y disparar el uso de memoria.
4 min
Monero: un ternario invertido en peerlist_manager::filter() deja a un host llenar la lista blanca de nodos con distintos puertos
La función filter() del gestor de nodos de Monero limpiaba la lista gris cuando debía limpiar la blanca. Así, una sola IP podía tener entradas ilimitadas en la lista blanca usando puertos distintos.
7 min
Monero: inyección en los logs de monerod a través de peticiones a la RPC ZMQ registradas sin filtrar
El demonio monerod escribía en sus logs el cuerpo crudo de cada petición recibida por la RPC ZMQ antes de validarlo, lo que permitía colar saltos de línea y fabricar entradas de log falsas.
5 min
Monero: relay_tx en monero-wallet-rpc se salta --restricted-rpc y corrompe el estado de la cartera
El método relay_tx de monero-wallet-rpc no comprobaba el modo restringido y aceptaba un pending_tx del llamante sin verificarlo, lo que permitía congelar salidas de la cartera víctima y plantar claves de transacción ajenas.
6 min
Monero: el RPC set_daemon de monero-wallet-rpc ignoraba el anclaje de certificado TLS y permitía un MITM con el nodo
El RPC set_daemon de monero-wallet-rpc guardaba las huellas SHA-256 como texto en lugar de decodificarlas. Ninguna coincidía nunca y, en modo autodetect, la cartera aceptaba cualquier certificado del nodo.
6 min
Monero: describe_transfer de wallet-rpc muestra un señuelo del anillo como entrada real antes de firmar en frío
El método describe_transfer de monero-wallet-rpc tomaba la entrada del anillo con el índice equivocado, así que la revisión previa a la firma en frío podía enseñar un señuelo en lugar de la salida que de verdad se gastaba.
7 min
Monero: las pruebas de gasto (SpendProofV1) no comprobaban que el daemon devolviera la transacción pedida
get_spend_proof y check_spend_proof en wallet2.cpp no comparaban el hash de la transacción recibida del daemon con el txid solicitado, así que un daemon malicioso podía hacer válida una prueba de gasto para un txid ajeno.
4 min
Monero: check_reserve_proof sumaba importes RingCT sin comprobar el compromiso de la salida
La verificación de pruebas de reservas del monedero de Monero descifraba el importe de cada salida RingCT y lo sumaba sin compararlo con su compromiso de Pedersen, lo que permitía aparentar más fondos de los reales.
5 min