VDB
Sign up
HIGH7.5

GO-2022-1039

Memory exhaustion when compiling regular expressions in regexp/syntax

Quick fix

GO-2022-1039 — stdlib: upgrade to the fixed version with the command below.

go get stdlib@v1.18.7

Details

Programs which compile regular expressions from untrusted sources may be vulnerable to memory exhaustion or denial of service.

The parsed regexp representation is linear in the size of the input, but in some cases the constant factor can be as high as 40,000, making relatively small regexps consume much larger amounts of memory.

After fix, each regexp being parsed is limited to a 256 MB memory footprint. Regular expressions whose representation would use more space than that are rejected. Normal use of regular expressions is unaffected.

Are you affected?

Enter the version of the package you're using.

Affected packages

Go/stdlib
Introduced in: 0Fixed in: 1.18.7
Fixgo get stdlib@v1.18.7

References