CVE-2022-31020
Remote code execution in Indy's NODE_UPGRADE transaction
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.8
Remote code execution in Indy's NODE_UPGRADE transaction
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.
- Record
CVE-2022-31020- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-287, CWE-20
- Updated
- 2026-11-02
EUVDEUVD-2022-0124
8.8
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.
- Record
EUVD-2022-0124- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-r6v9-p59m-gj2p
7.1
Indy's NODE_UPGRADE transaction vulnerable to remote code execution
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.
- Record
GHSA-r6v9-p59m-gj2p- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-287
- Updated
- 2026-11-02
NVD
8.8
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.
- Record
CVE-2022-31020- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-20, CWE-287
- Updated
- 2026-11-02
OSV
8.8
Remote code execution in Indy's NODE_UPGRADE transaction
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.
- Record
CVE-2022-31020- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-20, CWE-287
- Updated
- 2026-11-02
OSVGHSA-r6v9-p59m-gj2p
7.1
Indy's NODE_UPGRADE transaction vulnerable to remote code execution
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.
- Record
GHSA-r6v9-p59m-gj2p- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-287
- Updated
- 2026-11-02
OSVPYSEC-2022-265 No score
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.
- Record
PYSEC-2022-265- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
indy-nodePyPI |
before 1.12.5rc1 | 1.12.5rc1 |
indy-nodePyPI |
before 1.12.5rc1, plus listed versions 0.0.1.dev380.0.1.dev400.0.120.0.20.0.20 Show 45 moreShow less0.0.210.0.220.0.230.0.240.0.250.0.280.0.30.0.300.0.310.0.320.0.40.4.271.0.281.0.291.1.11.1.301.1.311.1.321.1.331.1.341.1.351.1.361.1.371.1.381.1.391.1.401.1.411.1.421.1.431.10.01.10.0.dev10701.10.0.dev10711.10.0.dev10721.10.0.dev10731.10.0.dev10741.10.0.dev10751.10.0.dev10761.10.0.dev10771.10.0.dev10781.10.0.dev10791.10.0.dev10801.10.0.dev10811.10.0.dev10821.10.0.dev10831.10.0.dev1084 |
1.12.5rc1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-31020 is a high vulnerability (CVSS 8.8) in Hyperledger Indy-node, published September 2, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.31%, the 83rd percentile. Fixed in indy-node 1.12.5rc1.
References
github.com/hyperledger/indy-node/security/advisories/GHSA-r6v9-p59m-gj2p
github.com/hyperledger/indy-node/commit/fe507474f77084faef4539101e2bbb4d508a97f5
github.com/hyperledger/indy-node/releases/tag/v1.12.5
nvd.nist.gov/vuln/detail/CVE-2022-31020
github.com/pypa/advisory-database/tree/main/vulns/indy-node/PYSEC-2022-265.yaml
github.com/advisories/GHSA-r6v9-p59m-gj2p
github.com/CVEProject/cvelistV5/tree/main/cves/2022/31xxx/CVE-2022-31020.json
github.com/hyperledger/indy-node
Left out here: 365 versions. The JSON record has them.