CVE-2022-24450
Incorrect Authorization in NATS nats-server
NATS nats-server before 2.7.2 has Incorrect Access Control. Any authenticated user can obtain the privileges of the System account by misusing the "dynamically provisioned sandbox accounts" feature.
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
NVD Score used
8.8
NATS nats-server before 2.7.2 has Incorrect Access Control. Any authenticated user can obtain the privileges of the System account by misusing the "dynamically provisioned sandbox accounts" feature.
- Record
CVE-2022-24450- 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 - CVSS 2.0
- 9.0 High
AV:N/AC:L/Au:S/C:C/I:C/A:C - Weakness
- CWE-862
- Updated
- 2026-11-02
CVE List No score
NATS nats-server before 2.7.2 has Incorrect Access Control. Any authenticated user can obtain the privileges of the System account by misusing the "dynamically provisioned sandbox accounts" feature.
- Record
CVE-2022-24450- Updated
- 2026-11-02
EUVDEUVD-2022-1000 No score
NATS nats-server before 2.7.2 has Incorrect Access Control. Any authenticated user can obtain the privileges of the System account by misusing the "dynamically provisioned sandbox accounts" feature.
- Record
EUVD-2022-1000- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-g6w6-r76c-28j7
8.8
Incorrect Authorization in NATS nats-server
(This advisory is canonically https://advisories.nats.io/CVE/CVE-2022-24450.txt)
Problem Description
NATS nats-server through 2022-02-04 has Incorrect Access Control, with unchecked ability for clients to authorize into any account, because of a coding error in a long-extant experimental feature.
A client crafting the initial protocol-level handshake could, with valid credentials for any account, specify a target account and switch into it immediately. This includes any other tenant, and includes the System account which controls nats-server core operations.
For deployments not using multi-tenancy through NATS Accounts, there is still a vulnerability: normal users are able to choose to be in the System account.
An experimental feature to provide dynamically provisioned sandbox accounts was designed to allow a server administrator to turn on an option to allow clients to dynamically request a brand new account inline at connection time. This feature went nowhere, but lived on in the code and was used by a number of tests; support was never added to any client libraries or to the documentation.
A bug in handling the feature meant that if someone did in fact have valid account credentials, then they could specify any other existing account and they would be assigned into that account.
Release 2.7.2 of nats-server removes the feature. Because of the lack of client support and absence from protocol documentation, we feel this is safe operationally as well as the safest fix for the code.
Affected versions
NATS Server
- All 2.x versions up to and including 2.7.1.
- Fixed with nats-io/nats-server: 2.7.2
- NATS Server 1.x did not have accounts.
- Docker image: nats https://hub.docker.com/_/nats
NATS Streaming Server
- All versions embedding affected NATS Server:
- Affected: v0.15.0 up to and including v0.24.0
- Fixed with nats-io/nats-streaming-server: 0.24.1
- Docker image: nats-streaming https://hub.docker.com/_/nats-streaming
Impact
Existing users could act in any account, including the System account.
Workaround
None.
Solution
Upgrade the NATS server.
- Record
GHSA-g6w6-r76c-28j7- 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-863
- Updated
- 2026-11-02
OSVGHSA-g6w6-r76c-28j7
8.8
Incorrect Authorization in NATS nats-server
(This advisory is canonically https://advisories.nats.io/CVE/CVE-2022-24450.txt)
Problem Description
NATS nats-server through 2022-02-04 has Incorrect Access Control, with unchecked ability for clients to authorize into any account, because of a coding error in a long-extant experimental feature.
A client crafting the initial protocol-level handshake could, with valid credentials for any account, specify a target account and switch into it immediately. This includes any other tenant, and includes the System account which controls nats-server core operations.
For deployments not using multi-tenancy through NATS Accounts, there is still a vulnerability: normal users are able to choose to be in the System account.
An experimental feature to provide dynamically provisioned sandbox accounts was designed to allow a server administrator to turn on an option to allow clients to dynamically request a brand new account inline at connection time. This feature went nowhere, but lived on in the code and was used by a number of tests; support was never added to any client libraries or to the documentation.
A bug in handling the feature meant that if someone did in fact have valid account credentials, then they could specify any other existing account and they would be assigned into that account.
Release 2.7.2 of nats-server removes the feature. Because of the lack of client support and absence from protocol documentation, we feel this is safe operationally as well as the safest fix for the code.
Affected versions
NATS Server
- All 2.x versions up to and including 2.7.1.
- Fixed with nats-io/nats-server: 2.7.2
- NATS Server 1.x did not have accounts.
- Docker image: nats https://hub.docker.com/_/nats
NATS Streaming Server
- All versions embedding affected NATS Server:
- Affected: v0.15.0 up to and including v0.24.0
- Fixed with nats-io/nats-streaming-server: 0.24.1
- Docker image: nats-streaming https://hub.docker.com/_/nats-streaming
Impact
Existing users could act in any account, including the System account.
Workaround
None.
Solution
Upgrade the NATS server.
- Record
GHSA-g6w6-r76c-28j7- 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-863
- Updated
- 2026-11-02
OSVBIT-nats-2022-24450 No score
NATS nats-server before 2.7.2 has Incorrect Access Control. Any authenticated user can obtain the privileges of the System account by misusing the "dynamically provisioned sandbox accounts" feature.
- Record
BIT-nats-2022-24450- Updated
- 2026-11-02
OSV No score
NATS nats-server before 2.7.2 has Incorrect Access Control. Any authenticated user can obtain the privileges of the System account by misusing the "dynamically provisioned sandbox accounts" feature.
- Record
CVE-2022-24450- Updated
- 2026-11-02
OSVGO-2022-0307 No score
Incorrect Authorization in NATS nats-server in github.com/nats-io/nats-server
Incorrect Authorization in NATS nats-server in github.com/nats-io/nats-server
- Record
GO-2022-0307- Updated
- 2026-11-02
OSVMGASA-2022-0225 No score
Updated nats-server packages fix security vulnerability
NATS nats-server before 2.7.2 has Incorrect Access Control. Any authenticated user can obtain the privileges of the System account by misusing the "dynamically provisioned sandbox accounts" feature. (CVE-2022-24450)
- Record
MGASA-2022-0225- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/nats-io/nats-streaming-serverGo |
0.15.0 up to 0.24.1 | 0.24.1 |
github.com/nats-io/nats-server/v2Go |
2.0.0 up to 2.7.2 | 2.7.2 |
natsBitnami |
2.0.0 up to 2.7.2 | 2.7.2 |
github.com/nats-io/nats-serverGo |
All versions | None known |
nats-serverMageia:8 |
before 2.1.9-1.1.mga8 | 2.1.9-1.1.mga8 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-24450 is a high vulnerability (CVSS 8.8) in Linuxfoundation Nats-server, published February 8, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.33%, the 71st percentile. Fixed in github.com/nats-io/nats-streaming-server 0.24.1.
References
github.com/nats-io/nats-server/releases/tag/v2.7.2
advisories.nats.io/CVE/CVE-2022-24450.txt
github.com/nats-io/nats-server/security/advisories/GHSA-g6w6-r76c-28j7
nvd.nist.gov/vuln/detail/CVE-2022-24450
github.com/advisories/GHSA-g6w6-r76c-28j7
github.com/CVEProject/cvelistV5/tree/main/cves/2022/24xxx/CVE-2022-24450.json
github.com/nats-io/nats-server
advisories.mageia.org/MGASA-2022-0225.html
bugs.mageia.org/show_bug.cgi?id=30013