What Is a CVE? Common Vulnerabilities and Exposures
A CVE (Common Vulnerabilities and Exposures) is a publicly cataloged, uniquely identified record of a specific security vulnerability, such as CVE-2021-44228, the Log4Shell flaw in Apache Log4j2. CVE IDs give vendors, researchers, and security tools a single shared name for the same flaw, so a patch, an advisory, and a pentest finding can all reference the exact same thing without ambiguity. Below is what a CVE ID actually means, how one gets created, and how CVE fits alongside CWE and CVSS, followed by 37 notable CVEs worth knowing by name.
The CVE ID format
Every CVE ID follows the pattern CVE-YYYY-NNNNN: the year the ID was reserved (not necessarily the year the vulnerability was found or disclosed), followed by a sequence number that can run to four, five, or more digits. The sequence number carries no meaning beyond uniqueness, a lower number does not mean an older or more severe vulnerability, it just reflects assignment order within that year. An ID is reserved before all details are public, which is why you sometimes see a CVE number referenced in an advisory before the full record appears on cve.org or NVD.
The CVE Program and CVE Numbering Authorities
The CVE Program is sponsored by CISA and operated by MITRE, but MITRE does not assign every ID itself. Instead, hundreds of CVE Numbering Authorities (CNAs), software vendors, security research firms, bug bounty platforms, and open-source foundations, are authorized to assign CVE IDs directly for vulnerabilities in their own scope. A vendor discovering a flaw in its own product typically reserves the ID, fixes the issue, and publishes the record itself. MITRE and a handful of other organizations act as the CNA of last resort for cases that fall outside any existing CNA's scope.
The lifecycle of a CVE record
Reserved
A CNA reserves a CVE ID for a vulnerability it is investigating, often well before any public details exist. At this stage the ID exists but the record is a placeholder.
Published
The CNA publishes the full record on cve.org: a description, the affected product and versions, and references such as a vendor advisory or patch. This is the authoritative CVE record.
Analyzed by NVD
NIST's National Vulnerability Database (NVD) pulls in the published record and enriches it: a CVSS severity score, a CWE weakness mapping, and additional metadata like affected configurations (CPEs). This enrichment is what most vulnerability scanners and pentest tools actually consume.
How CVE relates to CWE, CVSS, and NVD
CWE: the weakness type
CWE (Common Weakness Enumeration) is the category of coding or design mistake behind a CVE, for example CWE-89 (SQL Injection). One CWE type produces many CVEs across many products.
CVSS: the severity score
CVSS rates how severe a specific CVE is on a 0 to 10 scale. Try the free CVSS calculator to score any vulnerability by hand.
NVD: the enrichment database
The National Vulnerability Database takes the CVE record published on cve.org and adds the CVSS score, CWE mapping, and affected-configuration data most tools rely on.
How to read and respond to a CVE
When a CVE affects something you run, check three things in order: whether your exact version and configuration is in the affected range, what the CVSS score and vector say about exploitability (network-reachable and no-authentication-required flaws are the ones to act on first), and whether a fixed version or vendor mitigation already exists. Patch or mitigate the reachable, high-severity cases first, then work down the list. A pentest that fingerprints your exposed services and matches them against known CVEs, rather than just running generic checks, is what turns this from a manual lookup exercise into something that runs automatically against your actual attack surface.
Notable CVEs
37 famous, high-impact vulnerabilities from 2014 to 2024, each with an accurate summary and a link to its authoritative NVD record.
- CVE-2021-44228CVSS 10.0 CriticalLog4Shell
A remote code execution vulnerability in Apache Log4j2's JNDI message lookup feature. An attacker who can get a single crafted string into anything Log4j2 logs, an HTTP header, a username field, or any other user-controlled input, can force the server to fetch and run attacker-controlled Java code over JNDI. It became one of the most widely and rapidly exploited vulnerabilities in internet history within days of disclosure.
- CVE-2014-0160CVSS 7.5 HighHeartbleed
An out-of-bounds read in OpenSSL's TLS and DTLS heartbeat extension. A malformed heartbeat request tricks the server into echoing back up to 64KB of adjacent process memory, which can contain private keys, session tokens, passwords, and other sensitive data, and leaves no trace in server logs.
- CVE-2014-6271CVSS 9.8 CriticalShellshock
A flaw in how GNU Bash parses function definitions stored in environment variables. Bash keeps executing shell commands appended after a specially formatted function definition, so an attacker who can set an environment variable, commonly through CGI scripts, DHCP clients, or forced SSH commands, can run arbitrary commands on the system.
- CVE-2017-0144CVSS 8.8 HighEternalBlue
A remote code execution vulnerability in Microsoft's SMBv1 server caused by improper handling of specially crafted packets. Originally an NSA exploit tool, it was leaked by the Shadow Brokers in April 2017 and became the propagation mechanism for the WannaCry and NotPetya worms weeks later.
- CVE-2017-5638CVSS 10.0 CriticalApache Struts Jakarta Multipart RCE
A remote code execution vulnerability in the Jakarta Multipart parser Apache Struts 2 uses for file uploads. A malformed Content-Type header triggers evaluation of an attacker-supplied OGNL expression, letting an unauthenticated attacker run arbitrary commands on the server. Exploitation of this flaw was the initial entry point for the 2017 Equifax breach, which exposed data on roughly 147 million people.
- CVE-2022-22965CVSS 9.8 CriticalSpring4Shell
A remote code execution vulnerability in Spring Framework's data binding, exploitable on applications deployed as a WAR to Apache Tomcat and running on JDK 9 or later. A crafted HTTP request walks the class loader through Java's ClassLoader property chain to overwrite server configuration and drop a webshell.
- CVE-2021-26855CVSS 9.8 CriticalProxyLogon
A server-side request forgery vulnerability in Microsoft Exchange Server that lets an unauthenticated attacker send arbitrary HTTP requests and have the Exchange server authenticate on their behalf. Chained with a post-authentication vulnerability (CVE-2021-27065), it gives an unauthenticated attacker full remote code execution and was used in mass exploitation of on-premises Exchange servers in early 2021.
- CVE-2021-34527CVSS 8.8 HighPrintNightmare
A vulnerability in the Windows Print Spooler service caused by improper handling of privileged file operations. An authenticated attacker, including a low-privileged domain user, can install a malicious printer driver that runs as SYSTEM, achieving remote code execution or local privilege escalation.
- CVE-2019-0708CVSS 9.8 CriticalBlueKeep
A remote code execution vulnerability in Windows Remote Desktop Services, triggered by a use-after-free condition in how the service handles a client disconnecting mid-session. It is wormable: malware could exploit it with no user interaction and spread automatically between vulnerable machines, similar to WannaCry.
- CVE-2016-5195CVSS 7.8 HighDirty COW
A race condition in the Linux kernel's memory subsystem, in how copy-on-write handles private read-only memory mappings. A local attacker can win the race to gain write access to memory that should be read-only, including files owned by root, and use it to escalate to root privileges.
- CVE-2018-7600CVSS 9.8 CriticalDrupalgeddon2
A remote code execution vulnerability in Drupal core caused by insufficient sanitization of input reaching Drupal's Form API AJAX handling. An unauthenticated attacker can inject a renderable array into a request and have Drupal execute arbitrary PHP, without needing an account on the target site.
- CVE-2021-3156CVSS 7.8 HighSudo Baron Samedit
A heap-based buffer overflow in sudo's command-line argument parsing, triggered when sudo is run in shell mode (sudo -s or sudoedit -s) with an argument that ends in a single unescaped backslash. Any local user, without needing to be listed in sudoers, can exploit it to escalate to root.
- CVE-2022-30190CVSS 7.8 HighFollina
A remote code execution vulnerability reached through the Windows Support Diagnostic Tool (MSDT), triggered when an application such as Microsoft Word invokes MSDT via the ms-msdt URI scheme. A malicious Office document can trigger it without macros enabled, letting the attacker run PowerShell as the current user.
- CVE-2023-34362CVSS 9.8 CriticalMOVEit Transfer SQL Injection
A SQL injection vulnerability in Progress Software's MOVEit Transfer managed file transfer application that lets an unauthenticated attacker access and modify the underlying database, then escalate to remote code execution. The Cl0p ransomware group exploited it as a zero-day to exfiltrate data from thousands of organizations in mid-2023.
- CVE-2023-4966CVSS 9.4 CriticalCitrix Bleed
A buffer overflow vulnerability in Citrix NetScaler ADC and NetScaler Gateway that leaks session tokens from device memory. An unauthenticated attacker who captures a valid session token can hijack an authenticated session, bypassing both MFA and password requirements, and it was widely exploited by ransomware groups in late 2023.
- CVE-2023-38545CVSS 9.8 Criticalcurl SOCKS5 Heap Overflow
A heap buffer overflow in curl and libcurl's SOCKS5 proxy handshake. When curl is told to let the SOCKS5 proxy resolve a hostname longer than 255 bytes, a logic bug can make curl instead copy the full oversized hostname into a fixed-size local buffer, corrupting the heap.
- CVE-2020-1472CVSS 10.0 CriticalZerologon
A cryptographic flaw in the Netlogon Remote Protocol (MS-NRPC) that Windows domain controllers use to authenticate machine accounts. A weak AES-CFB8 initialization vector implementation lets an attacker with network access to a domain controller reset its computer account password and impersonate it, gaining full control of the Active Directory domain with zero credentials required.
- CVE-2021-21972CVSS 9.8 CriticalvCenter Server RCE
A remote code execution vulnerability in the vSphere Client's vRealize Operations plugin for VMware vCenter Server. An unauthenticated attacker with network access to port 443 can upload a crafted file and execute commands with unrestricted privileges on the underlying operating system.
- CVE-2024-3094CVSS 10.0 CriticalXZ Utils Backdoor
A deliberately planted backdoor in the xz compression library, inserted over roughly two years by a project co-maintainer who gained trust before sabotaging the build scripts. The backdoored liblzma intercepts and manipulates sshd's RSA key authentication on affected glibc-based Linux systems, giving an attacker with the right private key unauthenticated remote code execution. It was caught only because a developer noticed a small SSH login latency regression.
- CVE-2024-6387CVSS 8.1 HighregreSSHion
A signal handler race condition in OpenSSH's server (sshd), reintroducing a vulnerability originally fixed in 2006 (CVE-2006-5051). If a client fails to authenticate within the configured login grace time, sshd's SIGALRM handler calls functions that are not safe to call from a signal handler, and winning the resulting race lets an unauthenticated remote attacker corrupt memory and achieve code execution as root.
- CVE-2021-4034CVSS 7.8 HighPwnKit
A local privilege escalation vulnerability in polkit's pkexec utility, present in the default configuration of most Linux distributions since 2009. pkexec fails to properly handle a missing argument count, and a local attacker can abuse that gap together with environment variable injection to have the dynamic loader execute attacker-controlled code with root privileges.
- CVE-2022-0847CVSS 7.8 HighDirty Pipe
A Linux kernel vulnerability in the pipe buffer implementation: a flag that marks pipe buffer pages as mergeable is never reset when a new pipe buffer is initialized, so a local attacker can use pipe splicing to overwrite the contents of arbitrary read-only files, including files they do not have write permission to, by chaining it onto the page cache.
- CVE-2022-26134CVSS 9.8 CriticalAtlassian Confluence OGNL RCE
An unauthenticated remote code execution vulnerability in Atlassian Confluence Server and Data Center, caused by an OGNL expression injection reachable through crafted request URIs. It was exploited in the wild as a zero-day before a patch existed, letting attackers run arbitrary commands on internet-facing Confluence instances with no credentials.
- CVE-2021-41773CVSS 7.5 HighApache HTTP Server Path Traversal
A path traversal flaw in a change made to Apache HTTP Server 2.4.49's URL path normalization, letting a crafted request map outside the configured document root to read arbitrary files, and, if mod_cgi is enabled for the mapped path, achieve remote code execution. The follow-up release 2.4.50 shipped an incomplete fix, tracked separately as CVE-2021-42013.
- CVE-2019-19781CVSS 9.8 CriticalCitrix ADC Path Traversal RCE
A path traversal vulnerability in Citrix Application Delivery Controller (ADC) and Citrix Gateway that lets an unauthenticated remote attacker write an arbitrary file to the appliance, then invoke it, achieving full remote code execution. It was exploited widely within weeks of disclosure and before an initial patch was available for all affected versions.
- CVE-2019-11510CVSS 10.0 CriticalPulse Secure Arbitrary File Read
A pre-authentication arbitrary file read vulnerability in Pulse Connect Secure SSL VPN appliances. An unauthenticated attacker can request arbitrary files from the appliance, including its session database, which caches plaintext usernames and passwords of users who logged in, effectively handing over VPN credentials without any exploitation skill required.
- CVE-2018-13379CVSS 9.8 CriticalFortiOS SSL VPN Path Traversal
A pre-authentication path traversal vulnerability in the FortiOS SSL VPN web portal that lets an unauthenticated attacker read arbitrary system files, including the session file that stores usernames and plaintext passwords of previously authenticated VPN users. Despite being disclosed and patched in 2019, unpatched appliances and leaked credential lists from this flaw were still being exploited by ransomware actors years later.
- CVE-2017-5754CVSS 5.6 MediumMeltdown
A CPU hardware vulnerability (rogue data cache load) affecting most Intel processors and some ARM designs, where speculative out-of-order execution allows an unprivileged process to read memory it should never be able to access, including kernel memory, by measuring cache-timing side effects left behind by speculatively executed instructions.
- CVE-2017-5753CVSS 5.6 MediumSpectre
A CPU hardware vulnerability (bounds check bypass) affecting a broad range of processors from Intel, AMD, and ARM. By mistraining a CPU's branch predictor, an attacker can get speculative execution to run past a legitimate bounds check with attacker-chosen data, then recover the out-of-bounds value through a cache-timing side channel, even though the speculative result is architecturally discarded.
- CVE-2014-3566CVSS 3.4 LowPOODLE
A design flaw in the SSL 3.0 protocol's CBC block cipher padding, which is not deterministically validated. A man-in-the-middle attacker who can force a protocol downgrade to SSLv3 and induce a victim's browser to make many requests can decrypt one byte of secure cookie or session data at a time using a padding-oracle style attack.
- CVE-2017-13077CVSS 6.8 MediumKRACK
A key reinstallation vulnerability in the WPA2 4-way handshake used to secure Wi-Fi networks. A man-in-the-middle attacker can manipulate and replay a retransmitted handshake message so a client reinstalls an already-in-use encryption key, resetting its associated nonce and allowing the attacker to decrypt, and in some configurations forge or inject, network traffic.
- CVE-2020-1938CVSS 9.8 CriticalGhostcat
A flaw in how Apache Tomcat's AJP connector processes requests, letting an attacker with network access to the AJP port (8009 by default) read arbitrary files from within a web application, such as configuration files containing credentials, or, if the application also allows file uploads, include and execute an uploaded file for remote code execution.
- CVE-2017-7494CVSS 9.8 CriticalSambaCry
A remote code execution vulnerability in Samba caused by insufficient validation of client-supplied paths, letting a client that can write to any share upload a shared library and then trigger the server to load and execute it, achieving code execution with the privileges of the Samba server process, often root.
- CVE-2022-42889CVSS 9.8 CriticalText4Shell
A remote code execution vulnerability in Apache Commons Text's default string interpolation feature. When an application passes untrusted input through StringSubstitutor with the library's default set of lookups enabled, the attacker can trigger the script, dns, or url lookups to run arbitrary script code, perform DNS lookups, or fetch remote content, similar in shape to Log4Shell but scoped to applications that echo user input through this specific API.
- CVE-2021-45046CVSS 9.0 CriticalLog4j Incomplete Fix (Log4Shell Follow-up)
A follow-up vulnerability in Apache Log4j2 showing that the initial Log4Shell (CVE-2021-44228) fix in version 2.15.0 was incomplete. In non-default configurations using a Context Lookup in the logging pattern, attacker-controlled input could still craft a malicious lookup string that survived 2.15.0's sanitization, causing denial of service and, in some configurations, remote code execution. NVD initially scored this a low-severity DoS issue, then revised it upward once further analysis confirmed RCE was reachable in more setups than first believed.
- CVE-2023-46805CVSS 8.2 HighIvanti Connect Secure Auth Bypass
An authentication bypass vulnerability in Ivanti Connect Secure and Ivanti Policy Secure gateways, affecting specific web component URIs that fail to enforce authentication. Exploited in the wild as a zero-day starting in late 2023, it lets an unauthenticated attacker access restricted resources, and when chained with a separate command injection flaw (CVE-2024-21887), enables full unauthenticated remote code execution.
- CVE-2016-3714CVSS 8.4 HighImageTragick
A remote code execution vulnerability in ImageMagick caused by insufficient filtering of shell metacharacters in filenames passed to its delegate commands. An application that merely processes a user-supplied image, such as generating a thumbnail, can be compromised by a crafted file that abuses coders like MVG or URL to run arbitrary shell commands.
Frequently asked questions
What is a CVE?
CVE (Common Vulnerabilities and Exposures) is a publicly listed catalog of known cybersecurity vulnerabilities, each assigned a unique CVE ID in the format CVE-YYYY-NNNNN. The CVE Program, sponsored by CISA and operated by MITRE and a network of partner organizations, exists so the industry has one shared identifier to talk about the same flaw, instead of every vendor and researcher using their own name for it.
What is the difference between CVE and CWE?
CVE identifies a specific vulnerability instance, a particular flaw in a particular version of a particular product, such as the JNDI lookup bug in Log4j2 2.14.1. CWE (Common Weakness Enumeration) identifies the general category of coding or design mistake behind it, such as CWE-502 (Deserialization of Untrusted Data). Every CVE typically maps to one or more CWEs: the CVE is the specific occurrence, the CWE is the root-cause pattern.
What is the difference between CVE and CVSS?
CVE identifies which vulnerability you are talking about. CVSS (Common Vulnerability Scoring System) is a separate, unrelated scoring standard that rates how severe a given vulnerability is on a 0 to 10 scale. A CVE record is typically published alongside a CVSS score, but the ID and the score come from different processes: CVE numbering authorities assign the ID, while NVD or the reporting party calculates the CVSS score.
Who assigns CVE IDs?
CVE Numbering Authorities (CNAs), organizations authorized by the CVE Program, assign CVE IDs. CNAs include software vendors (for vulnerabilities in their own products), researchers, bug bounty platforms, and MITRE itself as the CNA of last resort. There are hundreds of CNAs worldwide today, which is why a vendor can often assign an ID to their own vulnerability before it is ever added to NVD.
Where is the authoritative CVE record?
cve.org (run by MITRE and the CVE Program) publishes the authoritative CVE record itself: the ID, description, affected products, and references. NVD (nvd.nist.gov), run by NIST, enriches that same record with a CVSS severity score, CWE mapping, and additional metadata. Every entry on this page links directly to its NVD record for the current, canonical data.
About this reference
These security references are maintained by IntegSec, an offensive-security firm whose team holds CISSP, OSCP, and OSCE certifications and has run thousands of penetration tests. Content is kept current as tools, standards, and attack techniques evolve.
Find known-vulnerable services before an attacker does
TurboPentest fingerprints every open port and web service, then matches detected versions against known CVEs automatically, from $99 per target.
Start a pentest