<?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://db.gcve.eu</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 17:57:05 +0000</lastBuildDate>
    <item>
      <title>GHSA-g7hg-vrcf-mvmr — Netty: Out-of-date OCSP Responses Accepted by OcspServerCertificateValidator</title>
      <link>https://db.gcve.eu/vuln/ghsa-g7hg-vrcf-mvmr</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.netty:netty-handler-ssl-ocsp&lt;/p&gt;
&lt;p&gt;### Summary
`OcspServerCertificateValidator` flags an out-of-date OCSP response but does not stop processing it, so an expired GOOD response is still reported as `VALID`, letting an on-path attacker replay a stale GOOD response to bypass revocation of a since-revoked certificate.&lt;/p&gt;
&lt;p&gt;### Details
In `io.netty.handler.ssl.ocsp.OcspServerCertificateValidator#userEventTriggered` the freshness check has no `return`, so execution falls through and a `VALID` `OcspValidationEvent` is still fired:&lt;/p&gt;
&lt;p&gt;```java
                        if (!(current.after(response.getThisUpdate()) &amp;amp;&amp;amp;
                                current.before(response.getNextUpdate()))) {
                            ctx.fireExceptionCaught(new IllegalStateException(&amp;#34;OCSP Response is out-of-date&amp;#34;));
                        }
```&lt;/p&gt;
&lt;p&gt;Nonce validation is optional and off by default, so freshness is the only replay defense — and it is not enforced. Additionally `getNextUpdate()` may be `null`, making `current.before(null)` throw `NullPointerException`.&lt;/p&gt;
&lt;p&gt;https://datatracker.ietf.org/doc/html/rfc6960#section-3.2&lt;/p&gt;
&lt;p&gt;```
   5. The time at which the status being indicated is known to be
      correct (thisUpdate) is sufficiently recent;&lt;/p&gt;
&lt;p&gt;6. When available, the time at or before which newer information will
      be available about the status of the certificate (nextUpdate) is
      greater than the current time.
```&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;Add the test below to `io.netty.handler.ssl.ocsp.OcspServerCertificateValidatorTest`&lt;/p&gt;
&lt;p&gt;```java
    @Test…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.netty:netty-handler-ssl-ocsp&lt;/p&gt;
&lt;p&gt;### Summary
`OcspServerCertificateValidator` flags an out-of-date OCSP response but does not stop processing it, so an expired GOOD response is still reported as `VALID`, letting an on-path attacker replay a stale GOOD response to bypass revocation of a since-revoked certificate.&lt;/p&gt;
&lt;p&gt;### Details
In `io.netty.handler.ssl.ocsp.OcspServerCertificateValidator#userEventTriggered` the freshness check has no `return`, so execution falls through and a `VALID` `OcspValidationEvent` is still fired:&lt;/p&gt;
&lt;p&gt;```java
                        if (!(current.after(response.getThisUpdate()) &amp;amp;&amp;amp;
                                current.before(response.getNextUpdate()))) {
                            ctx.fireExceptionCaught(new IllegalStateException(&amp;#34;OCSP Response is out-of-date&amp;#34;));
                        }
```&lt;/p&gt;
&lt;p&gt;Nonce validation is optional and off by default, so freshness is the only replay defense — and it is not enforced. Additionally `getNextUpdate()` may be `null`, making `current.before(null)` throw `NullPointerException`.&lt;/p&gt;
&lt;p&gt;https://datatracker.ietf.org/doc/html/rfc6960#section-3.2&lt;/p&gt;
&lt;p&gt;```
   5. The time at which the status being indicated is known to be
      correct (thisUpdate) is sufficiently recent;&lt;/p&gt;
&lt;p&gt;6. When available, the time at or before which newer information will
      be available about the status of the certificate (nextUpdate) is
      greater than the current time.
```&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;Add the test below to `io.netty.handler.ssl.ocsp.OcspServerCertificateValidatorTest`&lt;/p&gt;
&lt;p&gt;```java
    @Test…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-g7hg-vrcf-mvmr</guid>
    </item>
  </channel>
</rss>
