<?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, 08 Oct 2026 23:53:13 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-107211</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-107211</link>
      <description>&lt;p&gt;Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.8.1 to 2.11.0, separately parsed pivot-table field indices are used to index the pivot-cache field-name slice without bounds checks. extractPivotTableFields uses getPivotCacheFieldsName output while processing GetPivotTables and trusts the dataField fld attribute as an index. When a crafted workbook supplies a pivot-field count mismatch or an out-of-range dataField fld value before GetPivotTables is called, the unchecked index causes a Go slice-bounds panic that escapes the library, allowing an attacker to crash the process or request worker. No fixed version is available as of this review.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.8.1 to 2.11.0, separately parsed pivot-table field indices are used to index the pivot-cache field-name slice without bounds checks. extractPivotTableFields uses getPivotCacheFieldsName output while processing GetPivotTables and trusts the dataField fld attribute as an index. When a crafted workbook supplies a pivot-field count mismatch or an out-of-range dataField fld value before GetPivotTables is called, the unchecked index causes a Go slice-bounds panic that escapes the library, allowing an attacker to crash the process or request worker. No fixed version is available as of this review.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-107211</guid>
    </item>
    <item>
      <title>GHSA-mx22-3794-2vpv — Excelize: Unchecked pivot-cache field index in extractPivotTableFields causes unrecoverable panic</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-mx22-3794-2vpv</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/xuri/excelize/v2&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;extractPivotTableFields builds `order := pc.getPivotCacheFieldsName()` from xl/pivotCache/pivotCacheDefinitionN.xml&amp;#39;s &amp;lt;cacheFields&amp;gt; list, then indexes it with values taken from a *separately parsed* xl/pivotTables/pivotTableN.xml part with zero cross-validation: `order[field.Fld]` where `field.Fld` is a raw attacker-controlled `int` from the `&amp;lt;dataField fld=&amp;#34;N&amp;#34;&amp;gt;` attribute, and `order[fieldIdx]` where fieldIdx is a loop index over `pt.PivotFields.PivotField` that need not match the cache&amp;#39;s field count. I executed two independent PoCs against the current HEAD: (1) trimmed the pivot cache&amp;#39;s &amp;lt;cacheFields&amp;gt; to count=0 while leaving the pivot table&amp;#39;s 2 pivotFields untouched -&amp;gt; `runtime error: index out of range [0] with length 0` at pivotTable.go:1431; (2) left the 2 cache fields completely intact and only changed one attribute, `fld=&amp;#34;1&amp;#34;` -&amp;gt; `fld=&amp;#34;99999&amp;#34;`, in xl/pivotTables/pivotTable1.xml -&amp;gt; `runtime error: index out of range [99999] with length 2` at pivotTable.go:1443. Both stack traces confirmed via non-recovered `go test` runs: extractPivotTableFields -&amp;gt; getPivotTable -&amp;gt; GetPivotTables.&lt;/p&gt;
&lt;p&gt;### Reachability / who can trigger this&lt;/p&gt;
&lt;p&gt;Unauthenticated: any application that opens an untrusted .xlsx containing a pivot table and calls the public `File.GetPivotTables(sheet)` API. excelize has no recover() anywhere, so this crashes the host process (CLI/worker) or surfaces as an unhandled 500 in a request-scoped-recover HTTP service. Deterministic, single small crafted file,…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/xuri/excelize/v2&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;extractPivotTableFields builds `order := pc.getPivotCacheFieldsName()` from xl/pivotCache/pivotCacheDefinitionN.xml&amp;#39;s &amp;lt;cacheFields&amp;gt; list, then indexes it with values taken from a *separately parsed* xl/pivotTables/pivotTableN.xml part with zero cross-validation: `order[field.Fld]` where `field.Fld` is a raw attacker-controlled `int` from the `&amp;lt;dataField fld=&amp;#34;N&amp;#34;&amp;gt;` attribute, and `order[fieldIdx]` where fieldIdx is a loop index over `pt.PivotFields.PivotField` that need not match the cache&amp;#39;s field count. I executed two independent PoCs against the current HEAD: (1) trimmed the pivot cache&amp;#39;s &amp;lt;cacheFields&amp;gt; to count=0 while leaving the pivot table&amp;#39;s 2 pivotFields untouched -&amp;gt; `runtime error: index out of range [0] with length 0` at pivotTable.go:1431; (2) left the 2 cache fields completely intact and only changed one attribute, `fld=&amp;#34;1&amp;#34;` -&amp;gt; `fld=&amp;#34;99999&amp;#34;`, in xl/pivotTables/pivotTable1.xml -&amp;gt; `runtime error: index out of range [99999] with length 2` at pivotTable.go:1443. Both stack traces confirmed via non-recovered `go test` runs: extractPivotTableFields -&amp;gt; getPivotTable -&amp;gt; GetPivotTables.&lt;/p&gt;
&lt;p&gt;### Reachability / who can trigger this&lt;/p&gt;
&lt;p&gt;Unauthenticated: any application that opens an untrusted .xlsx containing a pivot table and calls the public `File.GetPivotTables(sheet)` API. excelize has no recover() anywhere, so this crashes the host process (CLI/worker) or surfaces as an unhandled 500 in a request-scoped-recover HTTP service. Deterministic, single small crafted file,…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-mx22-3794-2vpv</guid>
    </item>
  </channel>
</rss>
