CVE-2022-31100
Reachable Assertion in rulex
Impact
### 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](https://github.com/rulex-rs/rulex/issues) * Email me at [ludwig.stecher@gmx.de](mailto:ludwig.stecher@gmx.de) ### Credits Credit for finding these bugs goes to - [cargo fuzz](https://github.com/rust-fuzz/cargo-fuzz) and [afl.rs](https://github.com/rust-fuzz/afl.rs) - [evanrichter](https://github.com/evanrichter) - [ForAllSecure Mayhem](https://forallsecure.com/)
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| rust | rulex | < 0.4.3 | 0.4.3 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Pomsky-Lang | Pomsky | before 0.4.3 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/rulex-rs/rulex/commit/fac6d58b25c6f9f8c0a6cdc4dec75b37b219f1d6
- https://github.com/rulex-rs/rulex/security/advisories/GHSA-8v9w-p43c-r885
- https://github.com/advisories/GHSA-8v9w-p43c-r885
- https://nvd.nist.gov/vuln/detail/CVE-2022-31100
- https://rustsec.org/advisories/RUSTSEC-2022-0031.html