CVE-2022-31836 Path Traversal in Beego

Critical 9.8 Published Updated

Attackers can traverse directories via wildcard values in Beego routing, potentially reading or modifying files outside the intended scope.

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

What is CVE-2022-31836?

CVE-2022-31836 is a critical path traversal vulnerability in n/a, published on 5 Jul 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

The leafInfo.match() function in Beego v2.0.3 and below uses path.join() to deal with wildcardvalues which can lead to cross directory risk.

Weakness: CWE-22

Which versions are affected by CVE-2022-31836?

7 open source packages ship an affected version, including github.com/beego/beego, github.com/astaxie/beego and github.com/beego/beego/v2. It affects 1 product.

PackageAffectedFixed in
github.com/beego/beego GoAll versions1.12.11
github.com/beego/beego GoAll versions1.12.11
github.com/beego/beego GoAll versions1.12.11
github.com/astaxie/beego GoAll versionsNone
github.com/beego/beego/v2 GoFrom 2.0.02.0.4
github.com/beego/beego/v2 GoFrom 2.0.02.0.4
1 more packages
github.com/beego/beego/v2 GoFrom 2.0.02.0.4

Products include Beego Beego.

How do I fix CVE-2022-31836?

Upgrade github.com/beego/beego to 1.12.11 or later.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2022-31836 being exploited?

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

Sources

Also known as GHSA-95f9-94vc-665h, GO-2022-0569.

Is CVE-2022-31836 in your software?

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

Check your SBOMs for free