CVE-2021-3127 nats-io/jwt not enforcing checking of Import token permissions

High 7.5 Published Updated

Attackers can bypass access controls in NATS Server due to mishandled Import Token bindings, potentially gaining unauthorized access to resources.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2021-3127?

CVE-2021-3127 is a high-severity missing authorization vulnerability in n/a, published on 16 Mar 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

NATS Server 2.x before 2.2.0 and JWT library before 2.0.1 have Incorrect Access Control because Import Token bindings are mishandled.

Weakness: CWE-755

Which versions are affected by CVE-2021-3127?

15 open source packages ship an affected version, including github.com/nats-io/jwt, nats and github.com/nats-io/jwt/v2. It affects 2 products.

PackageAffectedFixed in
github.com/nats-io/jwt GoAll versions to 1.2.2None
github.com/nats-io/jwt GoAll versions to 1.2.2None
github.com/nats-io/jwt GoAll versions1.2.3-0.20210314221642-a826c77dc9d2
github.com/nats-io/jwt GoAll versions1.2.3-0.20210314221642-a826c77dc9d2
github.com/nats-io/jwt GoAll versions1.2.3-0.20210314221642-a826c77dc9d2
nats BitnamiFrom 2.0.02.2.0
9 more packages
github.com/nats-io/jwt/v2 GoAll versions2.0.1
github.com/nats-io/jwt/v2 GoAll versions2.0.1
github.com/nats-io/jwt/v2 GoAll versions2.0.1
github.com/nats-io/jwt/v2 GoAll versions2.0.1
github.com/nats-io/jwt/v2 GoAll versions2.0.1
github.com/nats-io/nats-server/v2 GoAll versions2.2.0
github.com/nats-io/nats-server/v2 GoAll versions2.2.0
github.com/nats-io/nats-server/v2 GoAll versions2.2.0
github.com/nats-io/nats-server/v2 GoAll versions2.2.0

Products include Linuxfoundation Nats-Server, Nats Jwt Library.

How do I fix CVE-2021-3127?

Upgrade github.com/nats-io/jwt to 1.2.3-0.20210314221642-a826c77dc9d2 or later.

Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.

Is CVE-2021-3127 being exploited?

There is no known exploitation of CVE-2021-3127 in the wild and no public exploit code.

Sources

Also known as BIT-nats-2021-3127, DEBIAN-CVE-2021-3127, GHSA-62mh-w5cv-p88c, GHSA-9r5x-fjv3-q6h4, GHSA-j756-f273-xhp4, GO-2022-0386 and 1 more.

Is CVE-2021-3127 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free