<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from osv_rustsec</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 02 Oct 2026 10:29:25 +0000</lastBuildDate>
    <item>
      <title>RUSTSEC-2026-0319 — anymap2 is unmaintained</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0319</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: anymap2&lt;/p&gt;
&lt;p&gt;The `anymap2` crate is not maintained. `anymap3` is the recommended replacement.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: anymap2&lt;/p&gt;
&lt;p&gt;The `anymap2` crate is not maintained. `anymap3` is the recommended replacement.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0319</guid>
      <pubDate>Fri, 02 Oct 2026 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>RUSTSEC-2026-0318 — Sending custom to-device messages may panics</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0318</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: matrix-sdk-crypto&lt;/p&gt;
&lt;p&gt;Using the `IdentityBasedStrategy` setting when calling
`Device::encrypt_event_raw` or `OlmMachine::encrypt_content_for_devices` may
cause a panic if the recipient does not have cross-signing keys.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: matrix-sdk-crypto&lt;/p&gt;
&lt;p&gt;Using the `IdentityBasedStrategy` setting when calling
`Device::encrypt_event_raw` or `OlmMachine::encrypt_content_for_devices` may
cause a panic if the recipient does not have cross-signing keys.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0318</guid>
      <pubDate>Tue, 29 Sep 2026 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>RUSTSEC-2026-0317 — A 512-byte workbook can provoke a multi-gigabyte allocation and abort the process</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0317</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: sheets-diff&lt;/p&gt;
&lt;p&gt;Affected versions passed caller-supplied bytes to `calamine`&amp;#39;s `Xlsx::new` without first checking
that they were a ZIP archive. `Xlsx::new` tests for password protection on its first line, which
parses the input as an OLE/CFB container, and a sector-count field read from the file&amp;#39;s own header
reaches `Vec::with_capacity` without being checked against the file&amp;#39;s actual length. A 512-byte input
can therefore request several gigabytes; 9,261,285,372 bytes was measured.&lt;/p&gt;
&lt;p&gt;**The oversized allocation is always attempted. Whether it aborts depends on what the allocator can
satisfy.** On a large host with overcommit the reservation is granted untouched and the call returns
an ordinary &amp;#34;not an xlsx file&amp;#34; error, which looks like a malformed file being correctly rejected.
Under a memory limit the same bytes give `memory allocation of N bytes failed` and the process
aborts, which is not a `Result` a caller can handle. Containers with a memory limit, small hosts and
CI runners are where this lands, so testing on a development machine can wrongly suggest the crate is
unaffected.&lt;/p&gt;
&lt;p&gt;Every entry point reaches it, not only `compare_bytes`: the path- and reader-based APIs funnel through
the same internal open. Neither `Limits::default()` nor `Limits::hardened()` prevents it, because
`max_input_bytes` bounds the length of the input while the allocation&amp;#39;s size comes from a field
inside it.&lt;/p&gt;
&lt;p&gt;Fixed in 3.2.0, which declines input that does not begin with the ZIP magic before the parser sees
it, remov…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: sheets-diff&lt;/p&gt;
&lt;p&gt;Affected versions passed caller-supplied bytes to `calamine`&amp;#39;s `Xlsx::new` without first checking
that they were a ZIP archive. `Xlsx::new` tests for password protection on its first line, which
parses the input as an OLE/CFB container, and a sector-count field read from the file&amp;#39;s own header
reaches `Vec::with_capacity` without being checked against the file&amp;#39;s actual length. A 512-byte input
can therefore request several gigabytes; 9,261,285,372 bytes was measured.&lt;/p&gt;
&lt;p&gt;**The oversized allocation is always attempted. Whether it aborts depends on what the allocator can
satisfy.** On a large host with overcommit the reservation is granted untouched and the call returns
an ordinary &amp;#34;not an xlsx file&amp;#34; error, which looks like a malformed file being correctly rejected.
Under a memory limit the same bytes give `memory allocation of N bytes failed` and the process
aborts, which is not a `Result` a caller can handle. Containers with a memory limit, small hosts and
CI runners are where this lands, so testing on a development machine can wrongly suggest the crate is
unaffected.&lt;/p&gt;
&lt;p&gt;Every entry point reaches it, not only `compare_bytes`: the path- and reader-based APIs funnel through
the same internal open. Neither `Limits::default()` nor `Limits::hardened()` prevents it, because
`max_input_bytes` bounds the length of the input while the allocation&amp;#39;s size comes from a field
inside it.&lt;/p&gt;
&lt;p&gt;Fixed in 3.2.0, which declines input that does not begin with the ZIP magic before the parser sees
it, remov…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0317</guid>
      <pubDate>Tue, 29 Sep 2026 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>RUSTSEC-2026-0311 — Stack overflow on deeply nested LaTeX input</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0311</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: latex-rust&lt;/p&gt;
&lt;p&gt;The parser and layout engine in affected versions of `latex-rust` recurse once
per level of nesting with no limit. Deeply nested input, such as `\frac{1}{…}`,
braces, `\sqrt{…}`, `\left(`, or superscripts nested hundreds or thousands of
levels deep, exhausts the call stack.&lt;/p&gt;
&lt;p&gt;A stack overflow in Rust aborts the process. It is not a panic, so it cannot be
caught with `catch_unwind`. A program that renders LaTeX from untrusted input
can therefore be terminated by a short string. With a release build on an 8 MiB
stack, 700 nested `\frac{1}{…}` (about 7 KB of input) abort version 1.0.4, and
10,000 nested braces (about 20 KB) abort it as well. The threshold is lower on
smaller stacks and in debug builds; on a 2 MiB thread in a debug build, about
35 nested fractions are enough.&lt;/p&gt;
&lt;p&gt;```rust
let mut src = String::from(&amp;#34;1&amp;#34;);
for _ in 0..700 {
    src = format!(&amp;#34;\\frac{{1}}{{{src}}}&amp;#34;);
}
let _ = latex_rust::parse(&amp;amp;src); // stack overflow, process aborts
```&lt;/p&gt;
&lt;p&gt;The fixed versions count nesting depth in the parser and in `layout` and
refuse input that nests more than 32 levels. `parse`, `parse_with_colors`, and
the `latex_to_*` functions return
`ParseError::Malformed(&amp;#34;input nests deeper than 32 levels&amp;#34;)`, and `layout`
returns `Error::Unsupported { what: &amp;#34;tree nests deeper than 32 levels&amp;#34; }` for a
tree built by hand. The count is of parser recursion levels, and a braced
argument costs two, so the limit admits 15 nested `\frac`, `\sqrt`, or
`x^{…}`, and 31 nested groups, `\left…\right` pairs, o…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: latex-rust&lt;/p&gt;
&lt;p&gt;The parser and layout engine in affected versions of `latex-rust` recurse once
per level of nesting with no limit. Deeply nested input, such as `\frac{1}{…}`,
braces, `\sqrt{…}`, `\left(`, or superscripts nested hundreds or thousands of
levels deep, exhausts the call stack.&lt;/p&gt;
&lt;p&gt;A stack overflow in Rust aborts the process. It is not a panic, so it cannot be
caught with `catch_unwind`. A program that renders LaTeX from untrusted input
can therefore be terminated by a short string. With a release build on an 8 MiB
stack, 700 nested `\frac{1}{…}` (about 7 KB of input) abort version 1.0.4, and
10,000 nested braces (about 20 KB) abort it as well. The threshold is lower on
smaller stacks and in debug builds; on a 2 MiB thread in a debug build, about
35 nested fractions are enough.&lt;/p&gt;
&lt;p&gt;```rust
let mut src = String::from(&amp;#34;1&amp;#34;);
for _ in 0..700 {
    src = format!(&amp;#34;\\frac{{1}}{{{src}}}&amp;#34;);
}
let _ = latex_rust::parse(&amp;amp;src); // stack overflow, process aborts
```&lt;/p&gt;
&lt;p&gt;The fixed versions count nesting depth in the parser and in `layout` and
refuse input that nests more than 32 levels. `parse`, `parse_with_colors`, and
the `latex_to_*` functions return
`ParseError::Malformed(&amp;#34;input nests deeper than 32 levels&amp;#34;)`, and `layout`
returns `Error::Unsupported { what: &amp;#34;tree nests deeper than 32 levels&amp;#34; }` for a
tree built by hand. The count is of parser recursion levels, and a braced
argument costs two, so the limit admits 15 nested `\frac`, `\sqrt`, or
`x^{…}`, and 31 nested groups, `\left…\right` pairs, o…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0311</guid>
      <pubDate>Sun, 27 Sep 2026 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>RUSTSEC-2026-0310 — Various panics, soundness and resource exhaustion issues</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0310</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: domain&lt;/p&gt;
&lt;p&gt;Version 0.12.3 fixes a large number of panics, soundness issues, and
CPU and memory exhaustion issues in all parts of the crate.&lt;/p&gt;
&lt;p&gt;The following is a summary of the issues per affected components.
For details, please see the [release
notes](https://github.com/NLnetLabs/domain/releases/tag/v0.12.3).&lt;/p&gt;
&lt;p&gt;## Base&lt;/p&gt;
&lt;p&gt;* Limited the number of compression pointers that are followed when parsing
  a compressed name to 255 to avoid following really long chains.
* Limited the length of CNAME chains followed by `Message::canonical_name`
  to 20. This also fixed an integer overflow in this method when ANCOUNT
  was`u16::MAX`.
* Changed `QuestionSection::answer` to skip over all remaining questions
  without parsing the QNAMEs to avoid being slowed down by malicious
  names.
* Added length checks when scanning and parsing variable length record
  data types. This fixes issues with the message builder, which assumes that
  record data is never too large for placing in a message.&lt;/p&gt;
&lt;p&gt;## Stub Resolver&lt;/p&gt;
&lt;p&gt;* Fixed possible panics in the resolver’s `FoundHosts::qname` and
  `FoundHosts::canonical_name`.
* Fixed various issues in SRV processing.&lt;/p&gt;
&lt;p&gt;## Zonefile parsing&lt;/p&gt;
&lt;p&gt;* Fixed soundness issues when reading UTF-8 and an integer overflow when
  reading unsigned integers.
* Fixed a panic when reading empty TXT records.&lt;/p&gt;
&lt;p&gt;## Client and server transports, DNSSEC signer and validator&lt;/p&gt;
&lt;p&gt;Fixed various panics that could be triggered by malicious incoming DNS
messages.&lt;/p&gt;
&lt;p&gt;## Zonetree&lt;/p&gt;
&lt;p&gt;Fixed various panics and a memory ex…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: domain&lt;/p&gt;
&lt;p&gt;Version 0.12.3 fixes a large number of panics, soundness issues, and
CPU and memory exhaustion issues in all parts of the crate.&lt;/p&gt;
&lt;p&gt;The following is a summary of the issues per affected components.
For details, please see the [release
notes](https://github.com/NLnetLabs/domain/releases/tag/v0.12.3).&lt;/p&gt;
&lt;p&gt;## Base&lt;/p&gt;
&lt;p&gt;* Limited the number of compression pointers that are followed when parsing
  a compressed name to 255 to avoid following really long chains.
* Limited the length of CNAME chains followed by `Message::canonical_name`
  to 20. This also fixed an integer overflow in this method when ANCOUNT
  was`u16::MAX`.
* Changed `QuestionSection::answer` to skip over all remaining questions
  without parsing the QNAMEs to avoid being slowed down by malicious
  names.
* Added length checks when scanning and parsing variable length record
  data types. This fixes issues with the message builder, which assumes that
  record data is never too large for placing in a message.&lt;/p&gt;
&lt;p&gt;## Stub Resolver&lt;/p&gt;
&lt;p&gt;* Fixed possible panics in the resolver’s `FoundHosts::qname` and
  `FoundHosts::canonical_name`.
* Fixed various issues in SRV processing.&lt;/p&gt;
&lt;p&gt;## Zonefile parsing&lt;/p&gt;
&lt;p&gt;* Fixed soundness issues when reading UTF-8 and an integer overflow when
  reading unsigned integers.
* Fixed a panic when reading empty TXT records.&lt;/p&gt;
&lt;p&gt;## Client and server transports, DNSSEC signer and validator&lt;/p&gt;
&lt;p&gt;Fixed various panics that could be triggered by malicious incoming DNS
messages.&lt;/p&gt;
&lt;p&gt;## Zonetree&lt;/p&gt;
&lt;p&gt;Fixed various panics and a memory ex…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0310</guid>
      <pubDate>Fri, 25 Sep 2026 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>RUSTSEC-2026-0316 — Dynamic record lifting can allocate beyond the hostcall fuel limit</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0316</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: wasmtime&lt;/p&gt;
&lt;p&gt;This is an entry in the RustSec database for the Wasmtime security advisory
located at
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-jqpg-j7w6-42pr
For more information see the GitHub-hosted security advisory.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: wasmtime&lt;/p&gt;
&lt;p&gt;This is an entry in the RustSec database for the Wasmtime security advisory
located at
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-jqpg-j7w6-42pr
For more information see the GitHub-hosted security advisory.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0316</guid>
      <pubDate>Thu, 24 Sep 2026 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>RUSTSEC-2026-0315 — `call_ref` and exception `catch` can drop some fuel accounting, leading to exponential fuel amplification</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0315</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: wasmtime&lt;/p&gt;
&lt;p&gt;This is an entry in the RustSec database for the Wasmtime security advisory
located at
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-m63x-6p34-q65x
For more information see the GitHub-hosted security advisory.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: wasmtime&lt;/p&gt;
&lt;p&gt;This is an entry in the RustSec database for the Wasmtime security advisory
located at
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-m63x-6p34-q65x
For more information see the GitHub-hosted security advisory.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0315</guid>
      <pubDate>Thu, 24 Sep 2026 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>RUSTSEC-2026-0314 — Guest can panic host through filesystem datetime overflow</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0314</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: wasmtime-wasi&lt;/p&gt;
&lt;p&gt;This is an entry in the RustSec database for the Wasmtime security advisory
located at
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-j2g9-4prp-pf6h
For more information see the GitHub-hosted security advisory.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: wasmtime-wasi&lt;/p&gt;
&lt;p&gt;This is an entry in the RustSec database for the Wasmtime security advisory
located at
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-j2g9-4prp-pf6h
For more information see the GitHub-hosted security advisory.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0314</guid>
      <pubDate>Thu, 24 Sep 2026 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>RUSTSEC-2026-0313 — Outgoing HTTP body write allows guest-driven host memory exhaustion</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0313</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: wasmtime-wasi-http&lt;/p&gt;
&lt;p&gt;This is an entry in the RustSec database for the Wasmtime security advisory
located at
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-c9gc-w9vx-w86p
For more information see the GitHub-hosted security advisory.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: wasmtime-wasi-http&lt;/p&gt;
&lt;p&gt;This is an entry in the RustSec database for the Wasmtime security advisory
located at
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-c9gc-w9vx-w86p
For more information see the GitHub-hosted security advisory.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0313</guid>
      <pubDate>Thu, 24 Sep 2026 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>RUSTSEC-2026-0312 — Excluded iPAddress name constraints with an all-zero mask are not applied</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0312</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: x509-validator&lt;/p&gt;
&lt;p&gt;An `excluded_subtrees` iPAddress name constraint with an all-zero mask
(`0.0.0.0/0` or `::/0`) does not restrict iPAddress SANs in certificates issued
beneath it. The mask check treated an all-zero mask as matching nothing, when a
`/0` prefix matches every address of its family, so the exclusion was silently
ignored.&lt;/p&gt;
&lt;p&gt;CA/Browser Forum Baseline Requirements §7.1.2.5.2 require exactly these
exclusions on every technically constrained sub-CA that may not issue for IP
addresses. As a result, anyone holding (or having compromised) the key of such
a sub-CA can issue a certificate for an arbitrary IP address, and `Validator`
with `RFC5280Policy` and `ServerIdentityPolicy` accepts it for that address. A
`permitted_subtrees` dNSName entry on the same issuer does not prevent this,
because iPAddress SANs are a different name form.&lt;/p&gt;
&lt;p&gt;All users of `Validator` with `RFC5280Policy` are affected when a chain can
contain a name-constrained issuer with an all-zero iPAddress exclusion.&lt;/p&gt;
&lt;p&gt;The issue is fixed in x509-validator 0.3.1 (commit
[da661f8](https://github.com/namecare/x509-validator/commit/da661f8ecee820e05d089a76ecb654ff52a2c987)).
Users should upgrade to 0.3.1 or later.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: x509-validator&lt;/p&gt;
&lt;p&gt;An `excluded_subtrees` iPAddress name constraint with an all-zero mask
(`0.0.0.0/0` or `::/0`) does not restrict iPAddress SANs in certificates issued
beneath it. The mask check treated an all-zero mask as matching nothing, when a
`/0` prefix matches every address of its family, so the exclusion was silently
ignored.&lt;/p&gt;
&lt;p&gt;CA/Browser Forum Baseline Requirements §7.1.2.5.2 require exactly these
exclusions on every technically constrained sub-CA that may not issue for IP
addresses. As a result, anyone holding (or having compromised) the key of such
a sub-CA can issue a certificate for an arbitrary IP address, and `Validator`
with `RFC5280Policy` and `ServerIdentityPolicy` accepts it for that address. A
`permitted_subtrees` dNSName entry on the same issuer does not prevent this,
because iPAddress SANs are a different name form.&lt;/p&gt;
&lt;p&gt;All users of `Validator` with `RFC5280Policy` are affected when a chain can
contain a name-constrained issuer with an all-zero iPAddress exclusion.&lt;/p&gt;
&lt;p&gt;The issue is fixed in x509-validator 0.3.1 (commit
[da661f8](https://github.com/namecare/x509-validator/commit/da661f8ecee820e05d089a76ecb654ff52a2c987)).
Users should upgrade to 0.3.1 or later.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0312</guid>
      <pubDate>Thu, 24 Sep 2026 12:00:00 +0000</pubDate>
    </item>
  </channel>
</rss>
