Miggo Logo

CVE-2023-0466: The function X509_VERIFY_PARAM_add0_policy() is documented to implicitly enable the certificate...

5.3

CVSS Score
3.1

Basic Information

EPSS Score
0.65369%
Published
3/28/2023
Updated
2/19/2025
KEV Status
No
Technology
-

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability CVE-2023-0466 arises from a discrepancy between the documented and actual behavior of the OpenSSL function X509_VERIFY_PARAM_add0_policy(). The function was documented as enabling certificate policy checking, but its implementation never did so. This could lead to applications unintentionally bypassing policy checks if they relied on the incorrect documentation. The provided commit information (e.g., 0d16b7e99aa, 51e8a84ce74, 73398dea26d, fc814a30fc4) consistently shows patches that update documentation files (like 'doc/man3/X509_VERIFY_PARAM_set_flags.pod') to accurately describe that X509_VERIFY_PARAM_add0_policy() does not enable policy checking. Therefore, X509_VERIFY_PARAM_add0_policy() is identified as the vulnerable function because its actual behavior, when used under the assumptions fostered by the old documentation, leads to the security weakness. The file path provided in the 'vulnerable_functions' entry points to one of the documentation files modified in the patches, as this is the direct evidence from the commits regarding the function's misrepresentation. The function itself resides in OpenSSL's C source code (likely crypto/x509/x509_vfy.c, though not directly modified in these specific documentation patches).

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

T** *un*tion X***_V*RI*Y_P*R*M_****_poli*y() is *o*um*nt** to impli*itly *n**l* t** **rti*i**t* poli*y ****k w**n *oin* **rti*i**t* v*ri*i**tion. *ow*v*r t** impl*m*nt*tion o* t** *un*tion *o*s not *n**l* t** ****k w*i** *llows **rti*i**t*s wit* inv*

Reasoning

T** vuln*r**ility *V*-****-**** *ris*s *rom * *is*r*p*n*y **tw**n t** *o*um*nt** *n* **tu*l ****vior o* t** Op*nSSL *un*tion X***_V*RI*Y_P*R*M_****_poli*y(). T** *un*tion w*s *o*um*nt** *s *n**lin* **rti*i**t* poli*y ****kin*, *ut its impl*m*nt*tion