<?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 all</title>
    <link>https://vulnerability.circl.lu</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>Thu, 01 Oct 2026 23:42:42 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-82254 — gitoxide before 0.69.0 Denial of Service via gix-pack</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-82254</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; GitoxideLabs gitoxide&lt;/p&gt;
&lt;p&gt;gitoxide before 0.69.0 contains unchecked array indexing in delta application and uncapped allocation from attacker-controlled size headers in gix-pack. Attackers can send crafted pack data during clone or fetch operations to trigger panics or out-of-memory process kills.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; GitoxideLabs gitoxide&lt;/p&gt;
&lt;p&gt;gitoxide before 0.69.0 contains unchecked array indexing in delta application and uncapped allocation from attacker-controlled size headers in gix-pack. Attackers can send crafted pack data during clone or fetch operations to trigger panics or out-of-memory process kills.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-82254</guid>
    </item>
    <item>
      <title>GHSA-x494-mj8g-cj27 — gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-x494-mj8g-cj27</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: gix-pack&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;Multiple denial-of-service vectors in `gix-pack`: unchecked array indexing causes panics on crafted delta data, and uncapped attacker-controlled size headers enable OOM process kills. Both are triggered by malicious pack data received during clone/fetch.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Bug 1: Unchecked array indexing in delta application (CWE-248)**&lt;/p&gt;
&lt;p&gt;The `apply()` function in `gix-pack/src/data/delta.rs` (lines 33-87) reads delta instructions using unchecked `data[i]` indexing at 7 locations (lines 41, 45, 49, 53, 57, 61, 65). The command byte&amp;#39;s bits indicate how many additional bytes follow, but if the delta data is truncated, the index panics:&lt;/p&gt;
&lt;p&gt;```rust
pub(crate) fn apply(base: &amp;amp;[u8], mut target: &amp;amp;mut [u8], data: &amp;amp;[u8]) -&amp;gt; Result&amp;lt;(), apply::Error&amp;gt; {
    let mut i = 0;
    while let Some(cmd) = data.get(i) {  // first byte: safely checked
        i += 1;
        match cmd {
            cmd if cmd &amp;amp; 0b1000_0000 != 0 =&amp;gt; {
                let (mut ofs, mut size): (u32, u32) = (0, 0);
                if cmd &amp;amp; 0b0000_0001 != 0 {
                    ofs = u32::from(data[i]);     // PANIC: no bounds check
                    i += 1;
                }
                // ... 6 more unchecked data[i] at lines 45, 49, 53, 57, 61, 65
```&lt;/p&gt;
&lt;p&gt;Lines 83-84 use `assert_eq!` (not `debug_assert_eq!`) that panics in both debug and release builds:&lt;/p&gt;
&lt;p&gt;```rust
    assert_eq!(i, data.len());
    assert_eq!(target.len(), 0);
```&lt;/p&gt;
&lt;p&gt;A second location in `parse_header_info()` (`gix-pack/src/data/entry/decode.…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: gix-pack&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;Multiple denial-of-service vectors in `gix-pack`: unchecked array indexing causes panics on crafted delta data, and uncapped attacker-controlled size headers enable OOM process kills. Both are triggered by malicious pack data received during clone/fetch.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Bug 1: Unchecked array indexing in delta application (CWE-248)**&lt;/p&gt;
&lt;p&gt;The `apply()` function in `gix-pack/src/data/delta.rs` (lines 33-87) reads delta instructions using unchecked `data[i]` indexing at 7 locations (lines 41, 45, 49, 53, 57, 61, 65). The command byte&amp;#39;s bits indicate how many additional bytes follow, but if the delta data is truncated, the index panics:&lt;/p&gt;
&lt;p&gt;```rust
pub(crate) fn apply(base: &amp;amp;[u8], mut target: &amp;amp;mut [u8], data: &amp;amp;[u8]) -&amp;gt; Result&amp;lt;(), apply::Error&amp;gt; {
    let mut i = 0;
    while let Some(cmd) = data.get(i) {  // first byte: safely checked
        i += 1;
        match cmd {
            cmd if cmd &amp;amp; 0b1000_0000 != 0 =&amp;gt; {
                let (mut ofs, mut size): (u32, u32) = (0, 0);
                if cmd &amp;amp; 0b0000_0001 != 0 {
                    ofs = u32::from(data[i]);     // PANIC: no bounds check
                    i += 1;
                }
                // ... 6 more unchecked data[i] at lines 45, 49, 53, 57, 61, 65
```&lt;/p&gt;
&lt;p&gt;Lines 83-84 use `assert_eq!` (not `debug_assert_eq!`) that panics in both debug and release builds:&lt;/p&gt;
&lt;p&gt;```rust
    assert_eq!(i, data.len());
    assert_eq!(target.len(), 0);
```&lt;/p&gt;
&lt;p&gt;A second location in `parse_header_info()` (`gix-pack/src/data/entry/decode.…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-x494-mj8g-cj27</guid>
    </item>
  </channel>
</rss>
