🎄 Join our Annual Holiday wargame and win prizes!


Hash Collision

A **hash collision** occurs when multiple distinct inputs produce the same hash value or map to the same hash bucket. In adversarial contexts (on-chain tables, maps or hash tables), an attacker who can craft many colliding keys can concentrate operations on a single bucket, driving up compute/gas cost and causing insertion/lookup failures. This is a pure collision problem — not a logic bug in higher layers — where the attack surface is the mapping from input → bucket.

Remediation

  • Use a collision-resistant hash for bucket assignment where adversarial inputs are possible (e.g., Keccak256 / SHA-256 / BLAKE2).
  • Prevent attacker control of the hash seed/salt; derive any seed from contract-controlled, non-influenceable entropy.
  • Limit per-bucket growth: enforce bucket size caps, per-caller insertion quotas, or per-tx insertion limits to bound worst-case cost.
  • Design table operations to be incremental and gas-bounded (avoid single transactions that must traverse an unbounded bucket).
  • Add on-chain detection and fail-safe behaviour: if a bucket exceeds thresholds, reject further inserts and surface an alertable event rather than attempting expensive processing.
  • Apply economic friction for bulk inserts (fees, stake or collateral) so mass collision creation becomes costly.

Metadata

  • Severity: medium
  • Slug: hash-collision

CWEs

  • 327: Use of a Broken or Risky Cryptographic Algorithm
  • 328: Use of Weak Hash

OWASP

  • SC09:2025: Insecure Randomness

Available Labs

Select a language to explore available labs for this vulnerability.

No matching labs found

Try adjusting your language filter.

Deco line
Deco line

Play AppSec WarGames

Want to skill-up in secure coding and AppSec? Try SecDim Wargames to learn how to find, hack and fix security vulnerabilities inspired by real-world incidents.

Deco line
Deco line

Got a comment?

Join our secure coding and AppSec community. A discussion board to share and discuss all aspects of secure programming, AppSec, DevSecOps, fuzzing, cloudsec, AIsec code review, and more.

Read more