TL;DR: Online voting systems can be manipulated through cookie resets, IP changes, email and phone aliasing, vote-weight tampering, type-casting tricks, and race conditions, according to INTIGRITI. The pattern shows that fairness depends as much on state handling and normalization as on authentication, which means integrity controls must be tested like security controls.
At a glance
What this is: INTIGRITI outlines how online voting systems can be manipulated through weak identity checks, input trickery, and race conditions that let attackers skew results.
Why it matters: It matters because voting integrity is a governance problem as well as a security problem, and the same control weaknesses can undermine trust in any stateful decision workflow.
Context
Online voting platforms are not just authentication problems. They are state-management systems that have to preserve fairness under repeated requests, inconsistent input formats, and users who may intentionally try to bypass a single voting rule. When those controls are weak, integrity failures can occur even if the application appears to be enforcing access checks.
The article’s core concern is the boundary between identity checks and result integrity. Anonymous polling relies on cookies, IP addresses, and email or phone verification, while authenticated polling still has to defend vote weights, duplicate submissions, and request normalization. That combination makes online voting a useful example of how application integrity and identity assurance overlap.
Key questions
Q: What breaks when online voting systems rely on cookies or IP addresses to prevent repeat votes?
A: Those checks are easy to reset or route around, so they stop casual repeat voting but not determined abuse. Cookies can be cleared, IPs can shift through VPNs, and shared networks can create false conflicts. The control breaks because it identifies a session or network location, not a durable unique voter identity.
Q: Why do vote-weight and input-format tricks change results in authenticated polls?
A: They work when the application trusts client-supplied vote structure before applying canonical server-side rules. If weight, sign, or data type is accepted too early, the attacker can reshape what the system thinks it received. The fix is to derive critical voting values on the server and reject malformed or ambiguous request formats before they reach business logic.
Q: How do security teams know if duplicate-vote controls are actually effective?
A: They should test whether the system enforces one outcome atomically under concurrent requests, not just whether a single replay is rejected. If two near-simultaneous submissions can both succeed, the control is failing. Effective duplicate prevention survives race conditions, canonicalises inputs consistently, and records state in a way that cannot be split across separate checks.
Q: What is the difference between authentication and integrity controls in online voting?
A: Authentication tries to confirm who or what is submitting a vote, while integrity controls ensure the vote is counted once, in the right form, and with the right weight. A system can authenticate successfully and still be manipulated if normalization, duplication, or commit logic is weak. In voting workflows, integrity is the control that protects the outcome.
Technical breakdown
Why anonymous vote gating fails under normal user changes
Anonymous polls often lean on cookies, IP addresses, or simple email and phone checks to stop repeat voting. Those controls are easy to confuse with identity assurance, but they only describe one session or one network path, not one person or one legitimate vote. Clearing cookies, switching browsers, using VPNs, or changing input formats can make the same actor look like a new voter. The underlying issue is that the system treats a weak proxy as proof of uniqueness. In practice, this is less an authentication failure than a state-tracking failure that allows duplicate intent to re-enter the workflow.
Practical implication: treat anonymous vote controls as advisory unless they are paired with stronger uniqueness and normalization checks.
How vote weighting and duplicate checks are bypassed
Authenticated polling reduces some abuse, but it can still fail when vote weight or duplication logic is implemented only at the edge. If the application accepts a vote request, then trusts the submitted weight or user input too early, an attacker can alter the payload before the server applies final business rules. Type casting tricks such as exponent notation, strings, signed values, or arrays can slip through validation gaps when the backend normalizes data inconsistently. The same problem appears when weight is accepted from the client rather than derived on the server. In both cases, the control failure is trusting user-controlled vote structure.
Practical implication: keep vote weight server-side and validate input before any normalization or decision logic runs.
Why race conditions turn validation into a false control
A race condition appears when the system checks whether a user has already voted, then processes the submission later, leaving a small window where parallel requests can all pass the first check. If normalization happens before duplicate detection, or if the application allows one vote per account but does not atomically enforce it, simultaneous requests can create extra votes from a single actor. This is a classic integrity failure because the application’s rule exists, but the enforcement is not atomic. The problem is not merely speed. It is the gap between validation and commit, where state can be changed more than once.
Practical implication: make duplicate-vote enforcement atomic so validation and submission cannot be split by concurrent requests.
Threat narrative
Attacker objective: The attacker aims to skew the final vote outcome while remaining within what looks like ordinary application traffic.
- Entry occurs through a normal voting interface where the attacker can submit repeat requests, vary input formats, or alter client-side vote data.
- Credential or state abuse follows when cookies, IP checks, or weak verification are bypassed and the application accepts the attacker as a new or valid voter.
- Escalation happens when vote weight, duplicate submissions, or race windows let a single actor convert one vote into many or inflate the impact of a chosen candidate.
- Impact is result manipulation, where the published outcome no longer reflects genuine voter intent or fair participation.
NHI Mgmt Group analysis
Integrity controls for voting are a governance problem, not just an application problem. Online voting systems fail when they treat identity checks as the whole control surface and leave result integrity to weak business logic. The article shows that fairness depends on enforcing state, uniqueness, and normalization at the point of decision. Practitioners should treat vote integrity as a control objective in its own right, not as a by-product of login.
Stateful workflows are especially vulnerable when the client can influence the meaning of the request. Cookie resets, IP changes, and type-casting tricks all work because the application trusts user-controlled context too early. That is the same structural weakness seen in many integrity failures: the system validates the presence of a vote, but not the legitimacy of the request shape or the atomicity of the commit. Teams should assume that any client-supplied attribute tied to fairness can be manipulated.
Duplicate prevention only works when enforcement is atomic. The race-condition example matters because it exposes a common governance assumption, that a successful validation step guarantees a single final action. It does not. If validation and write are separated, a user can win the race and create multiple outcomes from one account. Practitioners should focus on closing the validation-to-commit gap as a control design issue.
Input normalization is part of integrity assurance, not just hygiene. The article’s vote-quantity examples show that format differences can become authorization differences when the backend interprets them inconsistently. That is a useful reminder for identity-heavy workflows too, where small parsing differences can create large policy failures. The practical conclusion is that fairness controls must be tested the same way security teams test authz logic: with malformed, boundary, and concurrent inputs.
Online voting is a clear example of integrity debt. Systems that rely on lightweight checks accumulate hidden risk until attackers discover that the outcome can be changed without breaching the system’s perimeter. The lesson for practitioners is that integrity assurance must be designed, tested, and monitored as a first-class control domain.
What this signals
Integrity debt: online voting failures show what happens when fairness controls are bolted onto workflows that were never designed to enforce atomic state changes. The implication for practitioners is that any system where a user action changes a public outcome needs stronger request canonicalisation and commit-time enforcement than a normal web form.
When identity is used only as a gate and not as part of the decision record, attackers can keep changing the shape of the same request until the system accepts it. That pattern reaches beyond voting into approvals, nominations, and any workflow where one submission must remain one submission.
For practitioners
- Enforce server-side vote state Keep vote eligibility, vote weight, and duplicate checks on the server so the client cannot define the outcome of the request.
- Make duplicate checks atomic Combine validation and write operations so parallel requests cannot pass the same one-vote rule more than once.
- Normalize inputs before policy decisions Parse numeric and string vote fields into a single canonical form before duplication or weighting logic runs.
- Treat identity proxies as weak signals Use cookies, IP addresses, email aliases, and phone formatting only as friction, not as proof of uniqueness or fairness.
- Test voting flows with abuse cases Probe the workflow with browser resets, VPN changes, malformed weights, and concurrent submissions to verify that integrity controls hold.
Key takeaways
- Online voting can be manipulated without breaking authentication if the application trusts weak uniqueness signals, inconsistent input formats, or non-atomic write paths.
- The article shows that cookie resets, IP changes, aliasing tricks, vote-weight tampering, and race conditions all target the integrity of the result rather than the login step.
- Practitioners need server-side enforcement, canonical input handling, and atomic duplicate checks if they want voting outcomes to reflect real user intent.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
MITRE ATT&CK addresses the attack and risk surface, while OWASP ASVS and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP ASVS | V8 — Authorization | Voting integrity depends on enforcing who can submit what outcome and under which conditions. |
| V2 — Validation and Business Logic | Type-casting tricks and vote-weight tampering exploit weak validation and business-rule enforcement. | |
| V16 — Security Logging and Error Handling | Voting abuse depends on edge cases that should be observable in logs and rejected cleanly. | |
| Recommendation — Apply V8 to ensure the server, not the client, decides whether a vote is accepted and counted. Use V2 to canonicalise vote inputs before business logic evaluates uniqueness, weight, or eligibility. Instrument V16 so duplicate attempts, malformed payloads, and concurrency anomalies are logged and investigated. | ||
| NIST CSF 2.0 | PR.AA-05 — Access Permissions, Entitlements and Authorizations | Vote acceptance is an authorisation decision that must be enforced consistently at the point of action. |
| Recommendation — Use PR.AA-05 to align voting permissions with server-side authorization rules rather than client-supplied state. | ||
| MITRE ATT&CK | TA0005 — Stealth | The attacker’s goal is to manipulate outcomes while appearing like legitimate traffic. |
| Recommendation — Map voting abuse patterns to TA0005 and hunt for request shaping that hides repeated intent. | ||
Key terms
- Integrity Controls: Integrity controls are mechanisms that verify whether systems, files, configurations, or cryptographic assets have changed from an approved state. They work by comparing current state against a trusted baseline, helping security teams detect unauthorized modification quickly and reduce the time attackers can remain hidden.
- Race Condition: A race condition is a timing flaw where security decisions depend on state that can change before the action completes. In identity and payment systems, it allows attackers to split one harmful outcome into several individually valid steps.
- Canonicalisation: Canonicalisation is the practice of normalising output into a consistent, predictable form before it is exposed to callers. In privacy and security design, it helps remove hidden entropy, reduce ambiguity, and prevent internal implementation details from becoming externally observable signals.
- Stateful Workflow Orchestration: Stateful workflow orchestration is the design of AI processes that remember prior steps and use that context to guide later actions. It matters when outcomes depend on history, such as long conversations, research flows, or troubleshooting paths. The state can improve consistency, recovery, and auditability across complex execution paths.
Deepen your knowledge
NHI Mgmt Group covers identity security, NHI governance, and agentic AI through independent research, practitioner guides, and the NHI Foundation Level course. Explore nhimg.org for resources that connect identity governance to the broader security disciplines your programme depends on.
Published by the NHIMG editorial team on August 21, 2026.
Updated on October 12, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org