GitHub Advisoryadvisory · crates.io
GHSA-8v9w-p43c-r885 Reachable Assertion in rulex
MEDIUM
Official page ↗
- Aliases
- CVE-2022-31100
- Ecosystem
- crates.io
- Packages
- rulex
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-617
- Reviewed
- 2022-06-21
Affected packages
• crates.io rulex: < 0.4.3 → fixed in 0.4.3
Description
Impact
When parsing untrusted rulex expressions, rulex may crash, possibly enabling a Denial of Service attack. This happens when the expression contains a multi-byte UTF-8 code point in a string literal or after a backslash, because rulex tries to slice into the code point and panics as a result.
This is a security concern for you, if
• your service parses untrusted rulex expressions (expressions provided by an untrusted user), and
• your service becomes unavailable when the thread running rulex panics.
Patches
The crashes are fixed in version 0.4.3. Affected users are advised to update to this version.
Workarounds
You can use `catch_unwind` to recover from panics.
For more information
If you have any questions or comments about this advisory:
• Open an issue in rulex
• Email me at [email protected]
Credits
Credit for finding these bugs goes to
• cargo fuzz and afl.rs
• evanrichter
• ForAllSecure Mayhem
Related
Alias · CVE (1)
- CVE-2022-31100 rulex is a new, portable, regular expression language. vulnerability
Weakness · CWE (1)
- CWE-617 Reachable Assertion weakness
References
- https://github.com/rulex-rs/rulex/security/advisories/GHSA-8v9w-p43c-r885 web
- https://nvd.nist.gov/vuln/detail/CVE-2022-31100 advisory
- https://github.com/rulex-rs/rulex/commit/fac6d58b25c6f9f8c0a6cdc4dec75b37b219f1d6 web
- https://github.com/rulex-rs/rulex package
- https://rustsec.org/advisories/RUSTSEC-2022-0031.html web