ntpd-rs (Project Pendulum)
By sorona.xyz Bug bounty on Sorona
- Top reward
- €10,000
- Top severity paid
- Critical
- Assets in scope
- 7
- Public CVEs
- 6
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays up to €10,000
- for critical bugs.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- Payment
- Proof of identity needed to get paid.
- Publish after a fix
- Coordinate the timing with the company.
Rewards
What Sorona lists as the payout for each severity.
| Severity | Relative size | Reward |
|---|---|---|
| Critical |
|
€10,000 |
| High |
|
€5,000 |
| Medium |
|
€3,000 |
| Low |
|
€500 |
- 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.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
7 assets you may test, 6 excluded.
Web 1
- https://github.com/pendulum-project/ntpd-rs
Products and areas 6
- clock-steering, the crate applying the adjustment to the system clock, and timestamped-socket, the crate handling kernel packet timestamping and the socket layer underneath the daemon
- Network Time Security: the NTS key exchange over TLS, cookie generation and encryption, replay handling, and the server-side key rotation behind it
- Source management and the algorithm: peer and pool source selection, DNS resolution of configured sources, clock filtering, and the steering decision that follows from them
- The daemon in full: the NTP client and the NTP server, packet encode and decode, and everything a packet from an unauthenticated peer can reach
- The daemon's own configuration and control surface: config parsing, the privilege model it drops into, and the ntp-ctl management and observability interface with the socket permissions behind it
- What is recorded is a single asset row covering pendulum-project/ntpd-rs, the Rust NTP and NTS daemon under Apache-2.0 OR MIT, with its two supporting crates alongside it, on a ladder from EUR 500 at Low to EUR 10,000 at Critical
Out of scope (6)
- Anything outside the repositories the archived scope named: ntpd-rs, clock-steering and timestamped-socket
- Defects that actually live in the Rust standard library or in a third-party crate rather than in the in-scope repositories
- Read the scope tab yourself once you have an account
- Reports from anyone unable to complete the platform's identity verification, which YesWeHack records as required on this program, or unwilling to hold an account at all, since the program cannot be seen without one
- The C reference implementation and chrony, which are separate projects with separate maintainers and, in the reference implementation's case, a separate program entirely
- Time-source trust decisions the operator made deliberately, such as running unauthenticated NTP where NTS was available. That is configuration rather than a defect
Rules
What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy.
While testing
-
Submit through sorona.xyz first.
-
Confirm the scope and the reward table on the program's live page before you start
-
A YesWeHack account is required to see the program at all, and its payout identity requirements are not readable anonymously
-
Hold the detail until a release carrying the fix is out and the program confirms you are clear to publish.
Not accepted
-
Time-source trust decisions the operator made deliberately, such as running unauthenticated NTP where NTS was available
-
Defects that actually live in the Rust standard library or in a third-party crate rather than in the in-scope repositories
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.
Sorona credits this project with 6 CVEs, 2 of them recent. The individual records appear here after the next sync.
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 Critical, published as an upper bound with no floor stated │ EUR 10,000 │ EUR 11,000 High, published as an upper bound │ EUR 5,000 │ EUR 6,000 Medium, published as an upper bound │ EUR 3,000 │ EUR 3,750 Low, published as an upper bound │ EUR 500 │ EUR 625 Submit a vulnerability CVE history 2 Last 12 months 6 Lifetime Latest advisories Loading the feed Overview ntpd-rs is the Rust NTP daemon from Project Pendulum, maintained by Tweede Golf and written to replace the C reference implementation on both the client and server side, Network Time Security included. It matters because time is the silent dependency underneath everything else: certificate validity, token expiry, log ordering, Kerberos and one-time-password verification all succeed or fail on what the clock says, so a daemon that can be pushed into accepting an attacker's time is a way to attack systems that never speak to the attacker directly. The bounty is Sovereign Tech Agency money running through YesWeHack, and the published ladder is EUR 10,000 for a Critical, EUR 5,000 for a High, EUR 3,000 for a Medium and EUR 500 for a Low. The Sovereign Tech Agency's February 2026 tender says six programs are active where that article lists seven, and which one lapsed cannot be determined without an account. Confirm the program exists and still pays before you commit time. sorona.xyz adds 1.25× on top of whatever it awards, up to $1,000 more, plus a complexity bonus of up to $1,000 for a well-chained finding. In scope What is recorded is a single asset row covering pendulum-project/ntpd-rs, the Rust NTP and NTS daemon under Apache-2.0 OR MIT, with its two supporting crates alongside it, on a ladder from EUR 500 at Low to EUR 10,000 at Critical The daemon in full: the NTP client and the NTP server, packet encode and decode, and everything a packet from an unauthenticated peer can reach Network Time Security: the NTS key exchange over TLS, cookie generation and encryption, replay handling, and the server-side key rotation behind it Source management and the algorithm: peer and pool source selection, DNS resolution of configured sources, clock filtering, and the steering decision that follows from them The daemon's own configuration and control surface: config parsing, the privilege model it drops into, and the ntp-ctl management and observability interface with the socket permissions behind it clock-steering, the crate applying the adjustment to the system clock, and timestamped-socket, the crate handling kernel packet timestamping and the socket layer underneath the daemon Out of scope Read the scope tab yourself once you have an account Anything outside the repositories the archived scope named: ntpd-rs, clock-steering and timestamped-socket The C reference implementation and chrony, which are separate projects with separate maintainers and, in the reference implementation's case, a separate program entirely Time-source trust decisions the operator made deliberately, such as running unauthenticated NTP where NTS was available. That is configuration rather than a defect Defects that actually live in the Rust standard library or in a third-party crate rather than in the in-scope repositories Reports from anyone unable to complete the platform's identity verification, which YesWeHack records as required on this program, or unwilling to hold an account at all, since the program cannot be seen without one Most-valued findings Anything that lets a network attacker move the local clock: a peer-selection or clock-filter flaw that survives a hostile minority of sources. Time is the dependency underneath certificate validity, token expiry and Kerberos, so this is the class the EUR 10,000 Critical figure exists for. NTS key-exchange or cookie-handling flaws that let an attacker forge or replay an authenticated time packet, since NTS is the one mechanism NTP has against an on-path attacker Memory-safety defects or reachable panics in the packet parsers: this is a Rust rewrite whose entire premise is that the C implementation's parsing history should not repeat, so a panic-on-input or an unsafe-block defect lands harder here than it would elsewhere Privilege-boundary failures around clock-steering, the one component holding the right to set system time on the host Remote denial of service against a daemon that is by design reachable from the network and by design trusted by every process on the machine 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. Confirm the scope and the reward table on the program's live page before you start A YesWeHack account is required to see the program at all, and its payout identity requirements are not readable anonymously The project's own SECURITY.md routes reports to [email protected] and mentions no bounty; that channel pays nothing on its own Disclosure Coordinated through YesWeHack, with the maintainers at Tweede Golf. Hold the detail until a release carrying the fix is out and the program confirms you are clear to publish. 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