Headline
GHSA-r6v9-p59m-gj2p: Remote code execution in Indy's NODE_UPGRADE transaction
Impact
The pool-upgrade
request handler in Indy-Node <=1.12.4
allows an improperly authenticated attacker to remotely execute code on nodes within the network.
Network operators are strongly encouraged to upgrade to the latest Indy-Node release >=1.12.5
as soon as possible.
Patches
The pool-upgrade
request handler in Indy-Node >=1.12.5
has been updated to properly authenticate pool-upgrade
transactions before any processing is performed by the request handler. The transactions are further sanitized to prevent remote code execution.
Mitigations
Network operators are strongly encouraged to upgrade to the latest Indy-Node release >=1.12.5
as soon as possible.
Acknowledgements
Thank you to @shakreiner at CyberArk Labs for finding and responsibly disclosing this issue.
Impact
The pool-upgrade request handler in Indy-Node <=1.12.4 allows an improperly authenticated attacker to remotely execute code on nodes within the network.
Network operators are strongly encouraged to upgrade to the latest Indy-Node release >=1.12.5 as soon as possible.
Patches
The pool-upgrade request handler in Indy-Node >=1.12.5 has been updated to properly authenticate pool-upgrade transactions before any processing is performed by the request handler. The transactions are further sanitized to prevent remote code execution.
Mitigations
Network operators are strongly encouraged to upgrade to the latest Indy-Node release >=1.12.5 as soon as possible.
Acknowledgements
Thank you to @shakreiner at CyberArk Labs for finding and responsibly disclosing this issue.
References
- GHSA-r6v9-p59m-gj2p
- hyperledger/indy-node@fe50747
Related news
Indy Node is the server portion of a distributed ledger purpose-built for decentralized identity. In versions 1.12.4 and prior, the `pool-upgrade` request handler in Indy-Node allows an improperly authenticated attacker to remotely execute code on nodes within the network. The `pool-upgrade` request handler in Indy-Node 1.12.5 has been updated to properly authenticate pool-upgrade transactions before any processing is performed by the request handler. The transactions are further sanitized to prevent remote code execution. As a workaround, endorsers should not create DIDs for untrusted users. A vulnerable ledger should configure `auth_rules` to prevent new DIDs from being written to the ledger until the network can be upgraded.