Audit CPE for Vulnerabilities
nvd_audit_cpeFind all CVEs affecting a specific product and version using CPE (Common Platform Enumeration). Requires either an exact CPE name (cpeName) or a partial match string (virtualMatchString) with optional version range bounds. With cpeName, NVD scopes results to configurations where the product is directly vulnerable, not merely referenced as a dependency. Use nvd_search_cpes first to resolve the correct CPE string for a product. Returns full CVE records.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of CVEs to return (default 20, max 2000). | |
| offset | No | Zero-based page offset for pagination. Page through totalCount with a modest limit rather than raising limit — this tool returns full CVE records, so a large limit is a large response. | |
| cpeName | No | Full CPEv2.3 name (e.g., "cpe:2.3:a:apache:http_server:2.4.51:*:*:*:*:*:*:*"). NVD adds isVulnerable automatically. Mutually exclusive with virtualMatchString. | |
| versionEnd | No | Upper version bound. Requires virtualMatchString. | |
| severityMin | No | Filter out CVEs below this severity level. Applied after NVD returns the page, so it can only drop CVEs within limit — raise limit to widen what it sees. | |
| allLanguages | No | When true, keeps every localized description NVD supplies on each record. Default keeps English only. | |
| versionStart | No | Lower version bound. Requires virtualMatchString. | |
| versionEndType | No | Whether the upper version bound is inclusive or exclusive. | including |
| versionStartType | No | Whether the lower version bound is inclusive or exclusive. | including |
| virtualMatchString | No | Partial CPE match pattern (e.g., "cpe:2.3:a:apache:http_server:*"). Use with versionStart/versionEnd for version range audits. Mutually exclusive with cpeName. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cves | No | Full CVE records for CVEs affecting the specified product. | |
| error | No | Present when the call failed. Absent on success. | |
| notice | No | Guidance on the shape of this page. When no CVEs came back it distinguishes a target NVD holds no CVEs for from a severityMin filter that dropped everything on the page, from an offset past the result set, from an empty page NVD returned inside a range it says has matches. On a partial page it names the offset that reaches the next one. | |
| offset | No | Page offset used in this query. | |
| returned | No | Number of CVE records returned. | |
| totalCount | No | Total CVEs matched before pagination. | |
| auditTarget | No | The CPE name or virtual match string used for this audit. | |
| severityMin | No | The client-side minimum severity filter applied. Absent when none was set. | |
| filteredCount | No | CVEs dropped by the severityMin filter from the page NVD returned. Present whenever severityMin is set; 0 means the filter dropped nothing, so a narrow result reflects totalCount and limit instead. This is not totalCount minus returned — CVEs beyond limit were never fetched and so were never evaluated against the filter. |