Skip to content

Swiss Post e-voting crypto-primitives

By Swiss Post Bug bounty on Sorona

Accepting reports open-source
Top reward
€50,000
Top severity paid
Critical
Assets in scope
9
Public CVEs
0
Last change
No changes yet

At a glance

What to know before you start testing.

Pays up to €50,000
for critical bugs.
Partial safe harbor
Some legal protection; read the terms.
Replies within 1 day
As the policy promises.
Public disclosure allowed
You may publish your report.

Rewards

What Sorona lists as the payout for each severity.

Severity Reward
Critical €50,000
High €30,000
Medium €8,000
Low €1,500
Response
Within 1 days 1 day Average first response
Safe harbor
Partial Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.
Hall of fame
Yes Swiss Post publishes every accepted finding on its public GitLab, including the report summary and the comment thread, and credits the reporter by name unless you ask in the report to stay anonymous or use an alias.

Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original

Scope

9 assets you may test, 6 excluded.

Web 1

  • https://gitlab.com/swisspost-evoting/crypto-primitives/crypto-primitives

Products and areas 8

  • Application source code across all the public repositories under gitlab.com/swisspost-evoting, which policy section A.4 names as where the code, specifications and additional material live
  • Four scopes are declared on YesWeHack: "Source Code", "Protocol of the Swiss Post Voting System" and "System Specification", each at asset value HIGH, plus "Scenarios with Special Bounties" at CRITICAL. Policy section C states that the web application and its infrastructure are in scope alongside the source code, the cryptographic protocols in use, and the specification and documentation
  • Special scenarios: undetected vote manipulation, tally manipulation, a vote-privacy break on the server side, and vote corruption
  • The crypto-primitives library specifically: the ElGamal, zero-knowledge-proof, mixnet and hash-to-group implementations the whole protocol rests on
  • The e-voting web application and the infrastructure behind it, named first in the policy's own scope sentence and testable live only inside a declared Public Intrusion Test window
  • The Protocol of the Swiss Post Voting System, meaning cryptographic protocol design flaws and not only implementation bugs
  • The System Specification and documentation, including deviations of the code from what the specification says it does
  • The Voting Card Print Service source code, added to scope on 2025-05-16
Out of scope (6)
  • Automated scanning at volume, which the policy asks you to refrain from because it risks degrading the service
  • Duplicates of a finding already reported by someone else
  • Findings against anything other than the latest master branch
  • Live infrastructure testing outside a declared Public Intrusion Test window
  • Scenarios that violate the VEleS trust assumptions, such as assuming more compromised components than the ordinance permits
  • The EUR 230,000 figure as a ceiling on ordinary source-code work. It belongs to the separate "Scenarios with Special Bounties" scope, which the programme records at asset value CRITICAL; the Source Code scope sits at asset value HIGH and tops out at EUR 50,000

Rules

What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy. "We" in these lines means Sorona, not this site.

While testing

  • Findings must be against the latest master branch; anything else is out of scope
  • Stay inside the VEleS trust assumptions: a scenario that assumes more compromised components than the ordinance permits will not be accepted
  • Do not test live infrastructure outside a declared Public Intrusion Test window
  • You must avoid tests that could cause degradation or interruption of our service (refrain from using automated tools, and limit yourself about requests per second)
  • say so in the report if you want to stay anonymous or use an alias

Not accepted

  • Findings against anything other than the latest master branch
  • Scenarios that violate the VEleS trust assumptions, such as assuming more compromised components than the ordinance permits
  • Duplicates of a finding already reported by someone else

Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original

Changes

Tracked since 11 Nov 2026. Last checked 1 hour ago.

No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.

Public CVEs

Published vulnerabilities in this vendor's products, from the NVD.

No CVEs matched yet. We match NVD records by vendor name, so products sold under another name can be missing.

Original policy

Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.

Skip to content What this pays sorona.xyz pays 1.25× the program's reward, up to +$1,000 per finding, plus a complexity bonus of up to $1,000 for especially complex or well-chained bugs. Finding │ Program pays │ Through sorona.xyz Source Code scope (asset value HIGH), graded on the programme's own EUR reward grid: see the overview for the euro figures │ no dollar ceiling published │ no dollar ceiling published Submit a vulnerability CVE history 0 Last 12 months 0 Lifetime Parsing/validation 30 % Info disclosure 25 % Access control 25 % Injection 10 % Latest advisories Loading the feed Overview The crypto-primitives library holds the ElGamal encryption, zero-knowledge proof, mixnet and hash-to-group implementations underneath the Swiss Post Voting System — the only federally certified e-voting system in Switzerland, running binding cantonal and federal votes. Its install count is low and beside the point: this is also the most-studied publicly released voting cryptosystem in the world, which makes the library a de-facto reference implementation that other election-technology projects read and copy. A break here is a national-election integrity event rather than a service outage. Swiss Post runs the programme on YesWeHack, continuously since 2019, with 1,762 reports submitted to date and a one-day average first response; the source code is a first-class standing scope, not an afterthought — the policy says the programme covers "not only the web application and its infrastructure... but also its source code, the cryptographic protocols in use as well as the specification and documentation". What it does not publish is a dollar figure. Everything is quoted in euros: the Source Code scope carries asset value HIGH and pays EUR 1,500 at Low, EUR 8,000 at Medium, EUR 30,000 at High and EUR 50,000 at Critical, while the separate "Scenarios with Special Bounties" scope pays EUR 30,000 to EUR 40,000 for vote corruption, EUR 40,000 to EUR 50,000 for a voting-privacy breach outside the voting client, EUR 50,000 to EUR 70,000 for manipulation the voter misses but the system catches, and EUR 70,000 to EUR 230,000 for manipulation that neither the voter nor the system detects — paid instead of, not on top of, the CVSS-based reward. Because those are euros and the uplift below is a dollar promise, the reward table carries no dollar ceiling. sorona.xyz still adds 1.25× on top of whatever Swiss Post awards, up to $1,000 more, plus a complexity bonus of up to $1,000 for a well-chained finding. In scope Four scopes are declared on YesWeHack: "Source Code", "Protocol of the Swiss Post Voting System" and "System Specification", each at asset value HIGH, plus "Scenarios with Special Bounties" at CRITICAL. Policy section C states that the web application and its infrastructure are in scope alongside the source code, the cryptographic protocols in use, and the specification and documentation Application source code across all the public repositories under gitlab.com/swisspost-evoting, which policy section A.4 names as where the code, specifications and additional material live The crypto-primitives library specifically: the ElGamal, zero-knowledge-proof, mixnet and hash-to-group implementations the whole protocol rests on The e-voting web application and the infrastructure behind it, named first in the policy's own scope sentence and testable live only inside a declared Public Intrusion Test window The Protocol of the Swiss Post Voting System, meaning cryptographic protocol design flaws and not only implementation bugs The System Specification and documentation, including deviations of the code from what the specification says it does The Voting Card Print Service source code, added to scope on 2025-05-16 Special scenarios: undetected vote manipulation, tally manipulation, a vote-privacy break on the server side, and vote corruption Out of scope Findings against anything other than the latest master branch Scenarios that violate the VEleS trust assumptions, such as assuming more compromised components than the ordinance permits Live infrastructure testing outside a declared Public Intrusion Test window Automated scanning at volume, which the policy asks you to refrain from because it risks degrading the service Duplicates of a finding already reported by someone else The EUR 230,000 figure as a ceiling on ordinary source-code work. It belongs to the separate "Scenarios with Special Bounties" scope, which the programme records at asset value CRITICAL; the Source Code scope sits at asset value HIGH and tops out at EUR 50,000 Most-valued findings Manipulation of a vote or a tally that goes undetected by both the voter and the system. At EUR 70,000 to EUR 230,000 it is the highest-paid outcome on this programme, paid instead of the CVSS-based reward rather than alongside it. A soundness break in a zero-knowledge proof or in the mixnet: a proof that verifies for a shuffle or a decryption that was never honestly performed is the cleanest route to undetected manipulation, and it lives in crypto-primitives itself A voting-privacy break outside the voting client that links a decrypted ballot back to a voter, which the special-scenario grid prices at EUR 40,000 to EUR 50,000 and which is a distinct failure from manipulation A demonstrated deviation between the published specification and the implementation, since the specification is first-class scope here and a divergence is an integrity claim the certification rests on Parsing and validation failures in ballot, proof or group-element deserialisation, 30% of the expected distribution and the usual mechanism by which a malformed input reaches the cryptographic core Program rules Submit through sorona.xyz first. We validate, coordinate with the program's security team, and add the payout uplift on top of whatever it awards. Findings must be against the latest master branch; anything else is out of scope Stay inside the VEleS trust assumptions: a scenario that assumes more compromised components than the ordinance permits will not be accepted Do not test live infrastructure outside a declared Public Intrusion Test window Keep the load down: "You must avoid tests that could cause degradation or interruption of our service (refrain from using automated tools, and limit yourself about requests per second)" Accepted findings are published on Swiss Post's GitLab, summary and comments included: say so in the report if you want to stay anonymous or use an alias Duplicates of an already-reported finding are not paid Program stats 1,762 Reports submitted 1 day Average first response Disclosure Unusually open by design. Swiss Post publishes every accepted finding on its public GitLab, including the report summary and the comment thread, and credits the reporter by name unless you ask in the report to stay anonymous or use an alias. There is no indefinite embargo to negotiate; the question is only whether your name goes on it. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability