<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-02T15:44:01.252674+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-53530</id>
    <title>fkie_cve-2026-53530</title>
    <updated>2026-10-02T15:44:01.254836+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>RaTeX is a KaTeX-compatible math rendering engine written in Rust. Prior to version 0.1.11, the public parser entrypoint `ratex_parser::parse(&amp;str)` panics on the 9-byte input `\verbéxé` (i.e. `\verb` followed by the non-ASCII delimiter `é`). When handling a `\verb` command, the parser slices the verbatim argument with byte indices (`arg[1..arg.len() - 1]`); if the delimiter character is multibyte UTF-8, index `1` lands inside that character and Rust panics with *“byte index 1 is not a char boundary”*. Because RaTeX’s release profile sets `panic = "abort"` (`Cargo.toml:48`), the panic aborts the entire process — not just the current request/thread — making this a hard denial of service for any service that renders untrusted LaTeX. Version 0.1.11 fixes the issue.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-53530"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-4hgp-59h5-gvrj</id>
    <title>GHSA-4hgp-59h5-gvrj — ratex-parser panics on `\verb` with a multibyte delimiter (UTF-8 byte-boundary slice)</title>
    <updated>2026-10-02T15:44:01.254943+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> crates.io: ratex-parser</p>
<p>### Summary</p>
<p>The public parser entrypoint `ratex_parser::parse(&amp;str)` panics on the **9-byte** input `\verbéxé` (i.e. `\verb` followed by the non-ASCII delimiter `é`). When handling a `\verb` command, the parser slices the verbatim argument with **byte** indices (`arg[1..arg.len() - 1]`); if the delimiter character is multibyte UTF-8, index `1` lands inside that character and Rust panics with *“byte index 1 is not a char boundary”*. Because RaTeX’s release profile sets `panic = "abort"` (`Cargo.toml:48`), the panic aborts the **entire process** — not just the current request/thread — making this a hard denial of service for any service that renders untrusted LaTeX.</p>
<p>### Details</p>
<p>## Affected code</p>
<p>`crates/ratex-parser/src/parser.rs`, `parse_symbol_inner`:</p>
<p>```rust
if let Some(stripped) = text.strip_prefix("\\verb") {       // parser.rs:901
    self.consume();
    let arg = stripped.to_string();                         // e.g. "éxé"
    let star = arg.starts_with('*');
    let arg = if star { &amp;arg[1..] } else { &amp;arg };          // parser.rs:905  (also byte-sliced)
    if arg.len() &lt; 2 {                                      // byte length
        return Err(ParseError::new("\\verb assertion failed", Some(&amp;nucleus)));
    }
    let body = arg[1..arg.len() - 1].to_string();           // parser.rs:910  &lt;-- PANIC on multibyte delimiter
    ...
}
```</p>
<p>For input `\verbéxé`: `arg = "éxé"`, where `é` = `U+00E9` (bytes `C3 A9`). `arg.len()` is the **byte** length (5), the `&lt; 2` guard…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-4hgp-59h5-gvrj"/>
  </entry>
</feed>
