CVE-2020-5243
Denial of Service in uap-core when processing crafted User-Agent strings
CVE-2020-5243 is a medium vulnerability (CVSS 5.7) in Ua-parser Uap-core, published February 20, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.29%, the 83rd percentile. Fixed in uap-core 0.7.3.
uap-core before 0.7.3 is vulnerable to a denial of service attack when processing crafted User-Agent strings. Some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings. This has been patched in uap-core 0.7.3.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
5.7
Denial of Service in uap-core when processing crafted User-Agent strings
uap-core before 0.7.3 is vulnerable to a denial of service attack when processing crafted User-Agent strings. Some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings. This has been patched in uap-core 0.7.3.
- Record
CVE-2020-5243- CVSS 3.1
- 5.7 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-20
- Updated
- 2026-11-02
EUVDEUVD-2020-0301
5.7
uap-core before 0.7.3 is vulnerable to a denial of service attack when processing crafted User-Agent strings. Some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings. This has been patched in uap-core 0.7.3.
- Record
EUVD-2020-0301- CVSS 3.1
- 5.7 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-cmcx-xhr8-3w9p
5.7
Denial of Service in uap-core when processing crafted User-Agent strings
Impact
Some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings.
Patches
Please update uap-core to >= v0.7.3
Downstream packages such as uap-python, uap-ruby etc which depend upon uap-core follow different version schemes.
Details
Each vulnerable regular expression reported here contains 3 overlapping capture groups. Backtracking has approximately cubic time complexity with respect to the length of the user-agent string.
Regex 1:
\bSmartWatch *\( *([^;]+) *; *([^;]+) *;
is vulnerable in portion *([^;]+) * and can be attacked with
"SmartWatch(" + (" " * 3500) + "z"
e.g.
SmartWatch( z
Regex 2:
; *([^;/]+) Build[/ ]Huawei(MT1-U06|[A-Z]+\d+[^\);]+)[^\);]*\)
is vulnerable in portion \d+[^\);]+[^\);]* and can be attacked with
";A Build HuaweiA" + ("4" * 3500) + "z"
Regex 3:
(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+ \([^;]*; *(LG)E *; *([^;]*) *;[^;]*;[^;]*;\)
is vulnerable in portion *([^;]*) * and can be attacked with
"HbbTV/0.0.0 (;LGE;" + (" " * 3500) + "z"
Regex 4:
(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+ \([^;]*; *(?:CUS:([^;]*)|([^;]+)) *; *([^;]*) *;.*;
is vulnerable in portions *(?:CUS:([^;]*)|([^;]+)) * and *([^;]*) * and can be attacked with
"HbbTV/0.0.0 (;CUS:;" + (" " * 3500) + "z"
"HbbTV/0.0.0 (;" + (" " * 3500) + "z"
"HbbTV/0.0.0 (;z;" + (" " * 3500) + "z"
Reported by Ben Caller @bcaller
- Record
GHSA-cmcx-xhr8-3w9p- CVSS 3.1
- 5.7 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-20, CWE-1333
- Updated
- 2026-11-02
NVD
5.7
uap-core before 0.7.3 is vulnerable to a denial of service attack when processing crafted User-Agent strings. Some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings. This has been patched in uap-core 0.7.3.
- Record
CVE-2020-5243- CVSS 3.1
- 5.7 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-20, CWE-1333
- Updated
- 2026-11-02
OSV
7.5
uap-core before 0.7.3 is vulnerable to a denial of service attack when processing crafted User-Agent strings. Some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings. This has been patched in uap-core 0.7.3.
- Record
CVE-2020-5243- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-5243
7.5
uap-core before 0.7.3 is vulnerable to a denial of service attack when processing crafted User-Agent strings. Some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings. This has been patched in uap-core 0.7.3.
- Record
DEBIAN-CVE-2020-5243- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVGHSA-cmcx-xhr8-3w9p
5.7
Denial of Service in uap-core when processing crafted User-Agent strings
Impact
Some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings.
Patches
Please update uap-core to >= v0.7.3
Downstream packages such as uap-python, uap-ruby etc which depend upon uap-core follow different version schemes.
Details
Each vulnerable regular expression reported here contains 3 overlapping capture groups. Backtracking has approximately cubic time complexity with respect to the length of the user-agent string.
Regex 1:
\bSmartWatch *\( *([^;]+) *; *([^;]+) *;
is vulnerable in portion *([^;]+) * and can be attacked with
"SmartWatch(" + (" " * 3500) + "z"
e.g.
SmartWatch( z
Regex 2:
; *([^;/]+) Build[/ ]Huawei(MT1-U06|[A-Z]+\d+[^\);]+)[^\);]*\)
is vulnerable in portion \d+[^\);]+[^\);]* and can be attacked with
";A Build HuaweiA" + ("4" * 3500) + "z"
Regex 3:
(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+ \([^;]*; *(LG)E *; *([^;]*) *;[^;]*;[^;]*;\)
is vulnerable in portion *([^;]*) * and can be attacked with
"HbbTV/0.0.0 (;LGE;" + (" " * 3500) + "z"
Regex 4:
(HbbTV)/[0-9]+\.[0-9]+\.[0-9]+ \([^;]*; *(?:CUS:([^;]*)|([^;]+)) *; *([^;]*) *;.*;
is vulnerable in portions *(?:CUS:([^;]*)|([^;]+)) * and *([^;]*) * and can be attacked with
"HbbTV/0.0.0 (;CUS:;" + (" " * 3500) + "z"
"HbbTV/0.0.0 (;" + (" " * 3500) + "z"
"HbbTV/0.0.0 (;z;" + (" " * 3500) + "z"
Reported by Ben Caller @bcaller
- Record
GHSA-cmcx-xhr8-3w9p- CVSS 3.1
- 5.7 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-1333, CWE-20
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2020-5243
5.7
uap-core before 0.7.3 is vulnerable to a denial of service attack when processing crafted User-Agent strings. Some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings. This has been patched in uap-core 0.7.3.
- Record
UBUNTU-CVE-2020-5243- CVSS 3.1
- 5.7 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
uap-corenpm |
before 0.7.3 | 0.7.3 |
user_agent_parserRubyGems |
before 2.6.0 | 2.6.0 |
uap-coreDebian:12 |
before 1:0.8.0-1 | 1:0.8.0-1 |
uap-coreDebian:13 |
before 1:0.8.0-1 | 1:0.8.0-1 |
uap-coreDebian:14 |
before 1:0.8.0-1 | 1:0.8.0-1 |
user_agent_parserRubyGems |
before 2.6.0, plus listed versions 0.1.00.1.10.1.21.0.01.0.1 Show 18 moreShow less1.0.22.0.02.1.02.1.12.1.22.1.32.1.42.1.52.2.02.3.02.3.12.3.22.4.02.4.12.5.02.5.12.5.22.5.3 |
2.6.0 |
uap-coreUbuntu:20.04:LTS |
All versions, plus listed versions 20190213-2 |
None known |
uap-coreUbuntu:22.04:LTS |
All versions, plus listed versions 1:0.12.0-11:0.13.0-11:0.14.0-11:0.15.0-1 |
None known |
uap-coreUbuntu:24.04:LTS |
All versions, plus listed versions 1:0.18.0-1 |
None known |
uap-coreUbuntu:25.10 |
All versions, plus listed versions 1:0.18.0-1 |
None known |
uap-coreUbuntu:26.10 |
All versions, plus listed versions 1:0.18.0-1build1 |
None known |
uap-coreUbuntu:26.04:LTS |
All versions, plus listed versions 1:0.18.0-11:0.18.0-1build1 |
None known |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
github.com/ua-parser/uap-core/security/advisories/GHSA-cmcx-xhr8-3w9p
github.com/ua-parser/uap-core/commit/0afd61ed85396a3b5316f18bfd1edfaadf8e88e1
nvd.nist.gov/vuln/detail/CVE-2020-5243
github.com/ua-parser/uap-ruby/security/advisories/GHSA-pcqq-5962-hvcw
github.com/rubysec/ruby-advisory-db/blob/master/gems/user_agent_parser/CVE-2020-5243.yml
github.com/advisories/GHSA-cmcx-xhr8-3w9p
security-tracker.debian.org/tracker/CVE-2020-5243
ubuntu.com/security/CVE-2020-5243
cve.org/CVERecord?id=CVE-2020-5243