Improper Enforcement of a Single, Unique Action

Incomplete Base
Structure: Simple
Description

This vulnerability occurs when a system fails to properly prevent users from repeating an action that should only be performed once, such as submitting a vote, finalizing a purchase, or requesting a refund.

Extended Description

Many applications are designed to allow specific one-time actions, like casting a ballot, completing a transaction, or applying a coupon. When the system doesn't correctly track and enforce this single-use limitation, it creates a logic flaw that attackers can exploit. For example, in an e-commerce system, a user might bypass purchase limits or repeatedly apply a single-use discount code, leading to financial loss or inventory disruption. From a security perspective, this weakness directly undermines business rules and data integrity. An attacker could stuff a ballot in a voting app, repeatedly withdraw funds in a banking system, or spam a registration form to exhaust resources. The impact ranges from skewed analytics and unfair outcomes to significant revenue loss or system abuse, making robust single-action enforcement a critical requirement for both security and functional correctness.

Common Consequences 1
Scope: Other

Impact: Varies by Context

An attacker might be able to gain advantage over other users by performing the action multiple times, or affect the correctness of the product.

Observed Examples 6
CVE-2008-0294Ticket-booking web application allows a user to lock a seat more than once.
CVE-2005-4051CMS allows people to rate downloads by voting more than once.
CVE-2002-216Polling software allows people to vote more than once by setting a cookie.
CVE-2003-1433Chain: lack of validation of a challenge key in a game allows a player to register multiple times and lock other players out of the game.
CVE-2002-1018Library feature allows attackers to check out the same e-book multiple times, preventing other users from accessing copies of the e-book.
CVE-2009-2346Protocol implementation allows remote attackers to cause a denial of service (call-number exhaustion) by initiating many message exchanges.
Applicable Platforms
Languages:
Not Language-Specific : Undetermined