CVE-2020-8286: Inferior OCSP verification
What the report claims
cURL fails to verify that the OCSP response's certificate serial number matches the peer certificate's serial number, allowing validation of revoked certificates.
Compare with curl's recorded outcome
Known vulnerability
A real vulnerability: CVE-2020-8286 Inferior OCSP verification
Shown for comparison after analysis. The pipeline did not see this label.
ProveIt's finding
The available evidence does not settle the report. A maintainer should investigate.
Why this finding?
- The report describes a plausible and specific OCSP validation flaw with concrete reproduction steps and references to RFC 6960 requirements.
- However, no curl source code for lib/vtls/openssl.c at revision d6bfbfadd309 was provided in the context, so the central claim (missing serial number check in stapled OCSP response validation) cannot be verified against the implementation.
- External sources confirm RFC 6960 requires OCSP responses to be tied to specific certificates, but do not address curl's specific implementation.
- A human reviewer needs to examine the actual OCSP stapling validation code in lib/vtls/openssl.c at the target revision to determine if the serial number check is missing.
What still needs checking
- The contents of lib/vtls/openssl.c at revision d6bfbfadd309, specifically the OCSP stapling validation logic that processes the stapled OCSP response and verifies it against the peer certificate.
How this analysis ran 5 claims · 0 citations verified
Checked against curl master on 2020-12-01 (d6bfbfadd309). Test evaluation split. Citation verification checks that a referenced line was in the evidence; it does not prove the model interpreted it correctly.
Review a draft reply to the reporter
Edit and verify before sending.
Thank you for the detailed report with reproduction steps. To evaluate this, we need to examine the OCSP stapling validation code in lib/vtls/openssl.c at the relevant revision. Could you confirm which function handles the stapled OCSP response verification, or point to the specific lines where the serial number check should occur? The provided context did not include the curl source code for that file.
Inspect all claims and source code 5 claims · 0 code excerpts
Report claims
cURL does not check that the certificate serial number in the stapled OCSP response matches the serial number of the certificate it is trying to validate (the peer certificate)
Read the reasoning
The core claim is that cURL does not verify the certificate serial number in the stapled OCSP response matches the peer certificate's serial number. The curl_source section explicitly states '(no curl code could be retrieved for this report)', so the deciding code in lib/vtls/openssl.c is not available for inspection. Without the implementation, I cannot confirm or contradict the missing check.
in /lib/vtls/openssl.c
Read the reasoning
The location claim points to lib/vtls/openssl.c, but since no curl source code was provided for the target revision (d6bfbfadd309), I cannot verify the file exists or contains the relevant OCSP validation logic.
when connecting to a site with a revoked certificate and using a stapled OCSP response from a different certificate with the same issuer
Read the reasoning
The trigger describes an attack scenario (revoked certificate + substituted OCSP response from same issuer). Whether this path exists in the code cannot be determined without the OCSP validation implementation.
cURL succeeds despite the site having a revoked certificate
Read the reasoning
The impact claim depends on C1 being true. Without the code to verify the missing serial number check, the impact cannot be confirmed.
use a site with a revoked certificate (e.g., https://revoked.grc.com) and replace its OCSP response with that of a different site signed by the same issuer (e.g., https://www.grc.com)
Read the reasoning
The reproduction steps are concrete and detailed, but without the curl source code I cannot verify the described code path exists or that the --replace_ocsp test option (which appears to be from the reporter's example program) exercises the actual vulnerability in curl's OCSP stapling validation.
What the report says about other projects
not addressed C1
not addressed C1
not addressed C1
Read the original report
Source code
No source code was retrieved for this analysis. The evidence may be incomplete.