<?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://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>Sat, 10 Oct 2026 04:19:16 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-385206</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-385206</link>
      <description>EUVD-2026-385206</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-385206</guid>
    </item>
    <item>
      <title>fkie_cve-2026-107826</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-107826</link>
      <description>&lt;p&gt;OWASP Coraza WAF is a golang modsecurity compatible web application firewall library. From 3.0.0 until 3.8.1, readJSON in internal/bodyprocessors/json.go can stop its bounded flattening walk after reaching SecArgumentsLimit or the byte budget and then call gjson.Valid on the complete raw body. An unauthenticated attacker can submit shallow values followed by an extremely deeply nested JSON tail that was not visited by the bounded walk, causing gjson.Valid to recurse without a depth bound and terminate the hosting process with an unrecoverable fatal stack overflow. The ProcessRequest and ProcessResponse JSON paths share the affected readJSON validation flow, and the payload can remain within recommended body-size and argument-count limits. This issue is fixed in version 3.8.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;OWASP Coraza WAF is a golang modsecurity compatible web application firewall library. From 3.0.0 until 3.8.1, readJSON in internal/bodyprocessors/json.go can stop its bounded flattening walk after reaching SecArgumentsLimit or the byte budget and then call gjson.Valid on the complete raw body. An unauthenticated attacker can submit shallow values followed by an extremely deeply nested JSON tail that was not visited by the bounded walk, causing gjson.Valid to recurse without a depth bound and terminate the hosting process with an unrecoverable fatal stack overflow. The ProcessRequest and ProcessResponse JSON paths share the affected readJSON validation flow, and the payload can remain within recommended body-size and argument-count limits. This issue is fixed in version 3.8.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-107826</guid>
    </item>
    <item>
      <title>GHSA-6gcq-wc29-5xf2 — Coraza JSON body processor: argument-limit truncation reopens an unbounded-depth gjson.Valid stack overflow (process cr…</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-6gcq-wc29-5xf2</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/corazawaf/coraza/v3&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The JSON body processor (`internal/bodyprocessors/json.go`) can be made to
crash the whole process with an unrecoverable `fatal error: stack overflow`,
using a request body that is well under the recommended `SecRequestBodyLimit`
and the default `SecArgumentsLimit`.&lt;/p&gt;
&lt;p&gt;### Root cause&lt;/p&gt;
&lt;p&gt;`readJSON` (json.go:113-143) runs a bounded, best-effort flattening walk
(`readItems`) and *afterwards* calls `gjson.Valid(s)` on the raw body if
`readItems` returned no error:&lt;/p&gt;
&lt;p&gt;```go
json := gjson.Parse(s)
...
truncated, err = readItems(json, key, maxRecursion, argumentLimit, byteBudget, &amp;amp;usedBytes, &amp;amp;argCount, res)
if err != nil {
    return res, truncated, err
}
if !gjson.Valid(s) {
    return res, truncated, errors.New(&amp;#34;invalid JSON&amp;#34;)
}
```&lt;/p&gt;
&lt;p&gt;`gjson.Valid` (gjson v1.18.0, `validany` -&amp;gt; `validarray`/`validobject`) recurses
once per nesting level with **no depth bound**. `readItems` does have a depth
bound (`maxRecursion`), enforced here (json.go:163-182):&lt;/p&gt;
&lt;p&gt;```go
func readItems(json gjson.Result, objKey []byte, maxRecursion int, argumentLimit int, byteBudget int, usedBytes *int, argCount *int, res map[string][]string) (truncated bool, err error) {
    if byteBudget &amp;gt; 0 &amp;amp;&amp;amp; *usedBytes &amp;gt;= byteBudget {
        return true, nil                 // &amp;lt;-- checked first
    }
    if argumentLimit &amp;gt; 0 &amp;amp;&amp;amp; *argCount &amp;gt;= argumentLimit {
        return true, nil                 // &amp;lt;-- checked second
    }
    ...
    if maxRecursion &amp;lt;= 0 {
        return false, errors.New(&amp;#34;max recursion reached while…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/corazawaf/coraza/v3&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The JSON body processor (`internal/bodyprocessors/json.go`) can be made to
crash the whole process with an unrecoverable `fatal error: stack overflow`,
using a request body that is well under the recommended `SecRequestBodyLimit`
and the default `SecArgumentsLimit`.&lt;/p&gt;
&lt;p&gt;### Root cause&lt;/p&gt;
&lt;p&gt;`readJSON` (json.go:113-143) runs a bounded, best-effort flattening walk
(`readItems`) and *afterwards* calls `gjson.Valid(s)` on the raw body if
`readItems` returned no error:&lt;/p&gt;
&lt;p&gt;```go
json := gjson.Parse(s)
...
truncated, err = readItems(json, key, maxRecursion, argumentLimit, byteBudget, &amp;amp;usedBytes, &amp;amp;argCount, res)
if err != nil {
    return res, truncated, err
}
if !gjson.Valid(s) {
    return res, truncated, errors.New(&amp;#34;invalid JSON&amp;#34;)
}
```&lt;/p&gt;
&lt;p&gt;`gjson.Valid` (gjson v1.18.0, `validany` -&amp;gt; `validarray`/`validobject`) recurses
once per nesting level with **no depth bound**. `readItems` does have a depth
bound (`maxRecursion`), enforced here (json.go:163-182):&lt;/p&gt;
&lt;p&gt;```go
func readItems(json gjson.Result, objKey []byte, maxRecursion int, argumentLimit int, byteBudget int, usedBytes *int, argCount *int, res map[string][]string) (truncated bool, err error) {
    if byteBudget &amp;gt; 0 &amp;amp;&amp;amp; *usedBytes &amp;gt;= byteBudget {
        return true, nil                 // &amp;lt;-- checked first
    }
    if argumentLimit &amp;gt; 0 &amp;amp;&amp;amp; *argCount &amp;gt;= argumentLimit {
        return true, nil                 // &amp;lt;-- checked second
    }
    ...
    if maxRecursion &amp;lt;= 0 {
        return false, errors.New(&amp;#34;max recursion reached while…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-6gcq-wc29-5xf2</guid>
    </item>
  </channel>
</rss>
