GHSA-8v9w-p43c-r885
Reachable Assertion in rulex
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
### 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 [[email protected]](mailto:[email protected])
### 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/)
References
External links from the advisory. They lead to third-party sites.