- Top reward
- $1,500
- Top severity paid
- Critical
- Assets in scope
- 9
- Public CVEs
- 43
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays from $1,500
- for critical bugs.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- 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 | $1,500+ | |
| High | $700+ | |
| Medium | $300+ | |
| Low |
|
$100 $100 / 1 month Claude Max |
- 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
9 assets you may test, 6 excluded.
Web 1
- https://www.postfix.org
Products and areas 8
- Authentication and relay control end to end, where a peer gets Postfix to accept, relay or attribute mail it should have refused
- Privilege separation across Postfix's multi-process architecture, where one unprivileged component reaches state or authority the design meant to keep from it
- Reports go to the Postfix maintainer through the project's security contact, against the canonical tarball release from postfix.org. Everything shipped in that release sits inside the boundary
- Safe-buffer or Rust migration of the untrusted-input parsing paths, which is the shape of change the Rewards Panel scores in its top band
- The integer arithmetic throughout that SMTP and header handling, where a length or offset computation wraps and a later buffer operation trusts the result
- The queue manager and the queue files themselves, including races that let a message be delivered, rewritten, duplicated or dropped in a way the operator never configured
- The SMTP client and the delivery agents in full, which parse whatever a remote server or a local transport hands back
- The SMTP server in full: the command path, the header and envelope parsers, and everything smtpd reads from a peer before and after authentication
Out of scope (6)
- Anything the maintainer declines, and Google states plainly that it will not intervene: it is up to the maintainers to decide whether or not to accept your patch
- A vulnerability report on its own where the patch money is concerned: that rail pays only on a change merged upstream that then survives a month without reverts
- Misconfiguration in somebody's Postfix deployment rather than a defect in the shipped code
- Non-security work, meaning features, performance and documentation, which has no security argument to score
- One-liner patches that fix non-exploitable crashes, which the rules put verbatim as including crashes that can result from resource exhaustion or denial of service
- Patches older than twelve months or newer than one month at the moment of submission, and anything past three submissions per person per month
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
-
Send a detailed, reproducible report; if we can't reproduce it, it isn't eligible
-
Give the Postfix maintainer room to ship a fix before any public writeup
-
The canonical source is the tarball release from postfix.org rather than a GitHub fork
-
Findings that live in a bundled or linked dependency belong upstream with that project rather than here
-
Hold the detail until a fixed release has shipped
Not accepted
-
One-liner patches that fix non-exploitable crashes
-
crashes that can result from resource exhaustion or denial of service
-
Non-security work, meaning features, performance and documentation
-
Misconfiguration in somebody's Postfix deployment rather than a defect in the shipped code
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.
| CVE | Summary | Severity | Published |
|---|---|---|---|
| CVE-2026-43964 | Postfix before 3.8.16, 3.9 before 3.9.10, and 3.10 before 3.10.9 sometimes allows a buffer over-read and process crash via an enhanced status code that lacks text after the third number. | Low 3.7 | 4 May 2026 |
| CVE-2023-51764 | Postfix through 3.8.5 allows SMTP smuggling unless configured with smtpd_data_restrictions=reject_unauth_pipelining and smtpd_discard_ehlo_keywords=chunking (or certain other options that exist in recent versions). Remote attackers can use a published exploitation technique to inject e-mail messages with a spoofed MAIL FROM address, allowing bypass of an SPF protection mechanism. This occurs becau | Medium 5.3 | 24 Dec 2023 |
| CVE-2020-12063 | A certain Postfix 2.10.1-7 package could allow an attacker to send an email from an arbitrary-looking sender via a homoglyph attack, as demonstrated by the similarity of \xce\xbf to the 'o' character. This is potentially relevant when the /etc/postfix/sender_login feature is used, because a spoofed outbound message that uses a configured sender address is blocked with a "Sender address rejected: n | Medium 5.3 | 24 Apr 2020 |
| CVE-2017-10140 | Postfix before 2.11.10, 3.0.x before 3.0.10, 3.1.x before 3.1.6, and 3.2.x before 3.2.2 might allow local users to gain privileges by leveraging undocumented functionality in Berkeley DB 2.x and later, related to reading settings from DB_CONFIG in the current directory. | High 7.8 | 16 Apr 2018 |
| CVE-2012-0811 | Multiple SQL injection vulnerabilities in Postfix Admin (aka postfixadmin) before 2.3.5 allow remote authenticated users to execute arbitrary SQL commands via (1) the pw parameter to the pacrypt function, when mysql_encrypt is configured, or (2) unspecified vectors that are used in backup files generated by backup.php. | Medium 6.5 | 1 Oct 2014 |
| CVE-2011-1720 | The SMTP server in Postfix before 2.5.13, 2.6.x before 2.6.10, 2.7.x before 2.7.4, and 2.8.x before 2.8.3, when certain Cyrus SASL authentication methods are enabled, does not create a new server handle after client authentication fails, which allows remote attackers to cause a denial of service (heap memory corruption and daemon crash) or possibly execute arbitrary code via an invalid AUTH comman | Medium 6.8 | 13 May 2011 |
| CVE-2011-0411 | The STARTTLS implementation in Postfix 2.4.x before 2.4.16, 2.5.x before 2.5.12, 2.6.x before 2.6.9, and 2.7.x before 2.7.3 does not properly restrict I/O buffering, which allows man-in-the-middle attackers to insert commands into encrypted SMTP sessions by sending a cleartext command that is processed after TLS is in place, related to a "plaintext command injection" attack. | Medium 6.8 | 16 Mar 2011 |
| CVE-2009-2939 | The postfix.postinst script in the Debian GNU/Linux and Ubuntu postfix 2.5.5 package grants the postfix user write access to /var/spool/postfix/pid, which might allow local users to conduct symlink attacks that overwrite arbitrary files. | Medium 6.9 | 21 Sep 2009 |
| CVE-2008-4977 | postfix_groups.pl in Postfix 2.5.2 allows local users to overwrite arbitrary files via a symlink attack on the (1) /tmp/postfix_groups.stdout, (2) /tmp/postfix_groups.stderr, and (3) /tmp/postfix_groups.message temporary files. NOTE: the vendor disputes this vulnerability, stating "This is not a real issue ... users would have to edit a script under /usr/lib to enable it. | Medium 6.9 | 6 Nov 2008 |
| CVE-2008-3889 | Postfix 2.4 before 2.4.9, 2.5 before 2.5.5, and 2.6 before 2.6-20080902, when used with the Linux 2.6 kernel, leaks epoll file descriptors during execution of "non-Postfix" commands, which allows local users to cause a denial of service (application slowdown or exit) via a crafted command, as demonstrated by a command in a .forward file. | Low 2.1 | 12 Sep 2008 |
| CVE-2008-2936 | Postfix before 2.3.15, 2.4 before 2.4.8, 2.5 before 2.5.4, and 2.6 before 2.6-20080814, when the operating system supports hard links to symlinks, allows local users to append e-mail messages to a file to which a root-owned symlink points, by creating a hard link to this symlink and then sending a message. NOTE: this can be leveraged to gain privileges if there is a symlink to an init script. | Medium 6.2 | 18 Aug 2008 |
| CVE-2008-2937 | Postfix 2.5 before 2.5.4 and 2.6 before 2.6-20080814 delivers to a mailbox file even when this file is not owned by the recipient, which allows local users to read e-mail messages by creating a mailbox file corresponding to another user's account name. | Low 1.9 | 18 Aug 2008 |
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 This project runs no bounty of its own. sorona.xyz pays you directly on qualified, reproduced findings. Severity │ sorona.xyz pays Critical │ $1,500+ High │ $700+ Medium │ $300+ Low │ $100 / 1 month Claude Max Submit a vulnerability Separately, for a merged upstream patch : up to $15,000 Google Patch Rewards pays for a patch you get accepted upstream and that stays merged, without reverts, for one month. It does not pay for the report. Postfix sits in Tier 1, where a secure-by-design memory-safety change carries a 2x multiplier until the end of 2026; the figure here is the un-multiplied one. Patches must be between one and twelve months old, the maintainer holds a veto, the panel may split the award with him, and it is rate-limited to three submissions a month. Sanctions and territory exclusions apply. CVE history 7 Last 12 months 43 Lifetime Parsing/validation 35 % Memory safety 25 % Auth bypass 20 % Info disclosure 15 % Latest advisories Loading the feed Overview Postfix is the default mail transfer agent of Debian and Ubuntu and the most widely deployed MTA on the public internet, sitting under a very large share of every Linux server that sends mail at all. It is also the SMTP layer inside almost every self-hosted mail distribution: Mailcow, Mailu, iRedMail, Modoboa and Mail-in-a-Box all ship it, so one Postfix defect propagates through that whole ecosystem at once. The daemon parses envelopes and headers from unauthenticated peers, and the historic strip_address() heap corruption on a non-null-terminated string is the shape that costs most. The project pays nothing for a report, so sorona.xyz pays you directly on qualified, reproduced findings. In scope Reports go to the Postfix maintainer through the project's security contact, against the canonical tarball release from postfix.org. Everything shipped in that release sits inside the boundary The SMTP server in full: the command path, the header and envelope parsers, and everything smtpd reads from a peer before and after authentication The SMTP client and the delivery agents in full, which parse whatever a remote server or a local transport hands back The integer arithmetic throughout that SMTP and header handling, where a length or offset computation wraps and a later buffer operation trusts the result Privilege separation across Postfix's multi-process architecture, where one unprivileged component reaches state or authority the design meant to keep from it The queue manager and the queue files themselves, including races that let a message be delivered, rewritten, duplicated or dropped in a way the operator never configured Authentication and relay control end to end, where a peer gets Postfix to accept, relay or attribute mail it should have refused Safe-buffer or Rust migration of the untrusted-input parsing paths, which is the shape of change the Rewards Panel scores in its top band Out of scope A vulnerability report on its own where the patch money is concerned: that rail pays only on a change merged upstream that then survives a month without reverts One-liner patches that fix non-exploitable crashes, which the rules put verbatim as including crashes that can result from resource exhaustion or denial of service Patches older than twelve months or newer than one month at the moment of submission, and anything past three submissions per person per month Anything the maintainer declines, and Google states plainly that it will not intervene: it is up to the maintainers to decide whether or not to accept your patch Non-security work, meaning features, performance and documentation, which has no security argument to score Misconfiguration in somebody's Postfix deployment rather than a defect in the shipped code Most-valued findings A secure-by-design memory-safety improvement across the SMTP and header parsers, which is the only work carrying the Tier 1 2x multiplier and the highest-value class here until that multiplier expires at the end of 2026 Remote, unauthenticated memory corruption reachable during an SMTP conversation before any authentication completes, which is the worst shape a Postfix bug can take and the one that has historically been mass-exploited. The historic strip_address() and printable() heap corruption on a non-null-terminated string is exactly this shape, and memory safety is a quarter of the record A structural fix that closes an entire family of parser defects rather than one call site, since parsing and validation is the largest class here at 35 percent and the top reward band is explicitly for changes that almost certainly prevent major vulnerabilities in the affected code Privilege-separation hardening across the multi-process architecture, a named qualifying category that permanently limits the blast radius of every future parser bug Relay or authentication-control bypass that gets Postfix to accept mail it should have refused, 20 percent of the record, which lands simultaneously in Mailcow, Mailu, iRedMail, Modoboa and Mail-in-a-Box because all of them ship Postfix as their SMTP layer Program rules Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly. Send a detailed, reproducible report; if we can't reproduce it, it isn't eligible Give the Postfix maintainer room to ship a fix before any public writeup The canonical source is the tarball release from postfix.org rather than a GitHub fork; github.com/vdukhovni/postfix is the maintained public mirror, so land a change with the maintainer rather than assuming a pull request is the route Findings that live in a bundled or linked dependency belong upstream with that project rather than here If you also want the Google patch money, land the fix upstream yourself and keep it merged without reverts for a month; that is a separate pathway with its own one-to-twelve-month age window and a cap of three submissions a month Disclosure Coordinated with the Postfix maintainer through the project's security contact. Routing works here: the Patch Rewards rules contain no confidentiality, embargo or third-party clause, only sanctions and territory limits, and the patch money is claimed on a change that is public by the time you claim it. Hold the detail until a fixed release has shipped, and expect the fix to arrive as a point release rather than on a fixed clock. 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