- Top reward
- $1,500
- Top severity paid
- Critical
- Assets in scope
- 16
- Public CVEs
- 54
- 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.
- Hall of fame
-
Yes
Acknowledgement is a Hall of Fame entry, which the policy reserves for confirmed critical findings.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
16 assets you may test, 6 excluded.
Web 1
- https://www.odoo.com
Products and areas 15
- Attachments and the filestore, both the write path and the access check on retrieval
- Authentication modules in the Community tree, including LDAP and OAuth, plus API key handling and session management
- Mail, mass mailing and the inbound mail gateway, which processes messages from unauthenticated senders
- Multi-company record rules, where one database serves several legal entities and the separation between them is enforced in rules rather than in schema
- Payment provider modules and the callback or webhook route a gateway uses to report a completed transaction
- Point of sale, including its offline mode and the session data held on a client until it syncs
- The accounting and invoicing modules, including bank synchronisation and the payment reconciliation flow
- The database manager and the master password that protects database creation, duplication and backup
- The module installation and update mechanism, which loads new Python and XML into a running instance
- The ORM and its access-rights layer: model access rules, record rules and the field-level restrictions every module relies on for authorisation
- The portal, where an external user signs in to view their own quotations, invoices and tickets
- The published programme asks for any security issue in Odoo by email to [email protected], and the signed security.txt gives the same address for the whole product. No component carve-out is stated, so the Community source tree is in scope as a whole
- The QWeb template engine, used for reports, website pages and email, the main server-side template evaluation surface
- The web controller and RPC surface, covering the JSON-RPC and XML-RPC entry points that expose model methods to any authenticated caller
- The website builder and eCommerce modules, plus every public controller they expose to unauthenticated visitors
Out of scope (6)
- Access rights or record rules an administrator configured deliberately
- Deployment configuration, including an instance that leaves the database manager reachable in production
- Enterprise-only modules, which are not published in the Community tree this entry covers
- Odoo SA's own hosting and commercial SaaS infrastructure, which is the vendor's estate rather than the Community codebase
- Third-party modules from the Odoo Apps store and from community collections such as the OCA repositories
- Upstream Python dependency issues, unless Odoo's own use of the dependency is what makes the defect reachable
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.
-
Email the address on the policy page , the private address published on Odoo's security-report page and corroborated by its signed security.txt
-
Encrypt sensitive detail to the key published in the security.txt at download.odoo.com
-
Say which edition and which major version you tested.
-
Name the modules that were installed.
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-2024-36259 | Improper access control in mail module of Odoo Community 17.0 and Odoo Enterprise 17.0 allows remote authenticated attackers to extract sensitive information via an oracle-based (yes/no response) crafted attack. | High 7.5 | 25 Feb 2025 |
| CVE-2024-12368 | Improper access control in the auth_oauth module of Odoo Community 15.0 and Odoo Enterprise 15.0 allows an internal user to export the OAuth tokens of other users. | High 8.1 | 25 Feb 2025 |
| CVE-2023-48050 | SQL injection vulnerability in Cams Biometrics Zkteco, eSSL, Cams Biometrics Integration Module with HR Attendance (aka odoo-biometric-attendance) v. 13.0 through 16.0.1 allows a remote attacker to execute arbitrary code and to gain privileges via the db parameter in the controllers/controllers.py component. | Critical 9.8 | 15 Dec 2023 |
| CVE-2021-26947 | Cross-site scripting (XSS) issue Odoo Community 15.0 and earlier and Odoo Enterprise 15.0 and earlier, allows remote attackers to inject arbitrary web script in the browser of a victim, via a crafted link. | Medium 6.1 | 25 Apr 2023 |
| CVE-2021-44460 | Improper access control in Odoo Community 13.0 and earlier and Odoo Enterprise 13.0 and earlier allows users with deactivated accounts to access the system with the deactivated account and any permission it still holds, via crafted RPC requests. | Medium 6.5 | 25 Apr 2023 |
| CVE-2021-44461 | Cross-site scripting (XSS) issue in Accounting app of Odoo Enterprise 13.0 through 15.0, allows remote attackers who are able to control the contents of accounting journal entries to inject arbitrary web script in the browser of a victim. | Medium 6.1 | 25 Apr 2023 |
| CVE-2021-44465 | Improper access control in Odoo Community 13.0 and earlier and Odoo Enterprise 13.0 and earlier allows authenticated attackers to subscribe to receive future notifications and comments related to arbitrary business records in the system, via crafted RPC requests. | Medium 4.3 | 25 Apr 2023 |
| CVE-2021-44476 | A sandboxing issue in Odoo Community 15.0 and earlier and Odoo Enterprise 15.0 and earlier allows authenticated administrators to read local files on the server, including sensitive configuration files. | Medium 6.8 | 25 Apr 2023 |
| CVE-2021-44547 | A sandboxing issue in Odoo Community 15.0 and Odoo Enterprise 15.0 allows authenticated administrators to executed arbitrary code, leading to privilege escalation. | Critical 9.1 | 25 Apr 2023 |
| CVE-2021-44775 | Cross-site scripting (XSS) issue in Website app of Odoo Community 15.0 and earlier and Odoo Enterprise 15.0 and earlier, allows remote attackers to inject arbitrary web script in the browser of a victim, by posting crafted contents. | Medium 6.1 | 25 Apr 2023 |
| CVE-2021-45071 | Cross-site scripting (XSS) issue Odoo Community 15.0 and earlier and Odoo Enterprise 15.0 and earlier, allows remote attackers to inject arbitrary web script in the browser of a victim, via crafted uploaded file names. | Medium 6.1 | 25 Apr 2023 |
| CVE-2021-45111 | Improper access control in Odoo Community 15.0 and earlier and Odoo Enterprise 15.0 and earlier allows remote authenticated users to trigger the creation of demonstration data, including user accounts with known credentials. | High 8.1 | 25 Apr 2023 |
| CVE-2021-23166 | A sandboxing issue in Odoo Community 15.0 and earlier and Odoo Enterprise 15.0 and earlier allows authenticated administrators to read and write local files on the server. | High 8.7 | 25 Apr 2023 |
| CVE-2021-23176 | Improper access control in reporting engine of l10n_fr_fec module in Odoo Community 15.0 and earlier and Odoo Enterprise 15.0 and earlier allows remote authenticated users to extract accounting information via crafted RPC packets. | Medium 6.5 | 25 Apr 2023 |
| CVE-2021-23178 | Improper access control in Odoo Community 15.0 and earlier and Odoo Enterprise 15.0 and earlier allows attackers to validate online payments with a tokenized payment method that belongs to another user, causing the victim's payment method to be charged instead. | High 7.5 | 25 Apr 2023 |
| CVE-2021-23186 | A sandboxing issue in Odoo Community 15.0 and earlier and Odoo Enterprise 15.0 and earlier allows authenticated administrators to access and modify database contents of other tenants, in a multi-tenant system. | High 8.7 | 25 Apr 2023 |
| CVE-2021-23203 | Improper access control in reporting engine of Odoo Community 14.0 through 15.0, and Odoo Enterprise 14.0 through 15.0, allows remote attackers to download PDF reports for arbitrary documents, via crafted requests. | High 7.5 | 25 Apr 2023 |
| CVE-2021-26263 | Cross-site scripting (XSS) issue in Discuss app of Odoo Community 14.0 through 15.0, and Odoo Enterprise 14.0 through 15.0, allows remote attackers to inject arbitrary web script in the browser of a victim, by posting crafted contents. | Medium 6.1 | 25 Apr 2023 |
| CVE-2020-29396 | A sandboxing issue in Odoo Community 11.0 through 13.0 and Odoo Enterprise 11.0 through 13.0, when running with Python 3.6 or later, allows remote authenticated users to execute arbitrary code, leading to privilege escalation. | High 8.8 | 22 Dec 2020 |
| CVE-2018-15633 | Cross-site scripting (XSS) issue in "document" module in Odoo Community 11.0 and earlier and Odoo Enterprise 11.0 and earlier, allows remote attackers to inject arbitrary web script in the browser of a victim via crafted attachment filenames. | Medium 6.1 | 22 Dec 2020 |
| CVE-2018-15634 | Cross-site scripting (XSS) issue in attachment management in Odoo Community 14.0 and earlier and Odoo Enterprise 14.0 and earlier, allows remote attackers to inject arbitrary web script in the browser of a victim via a crafted link. | Medium 6.1 | 22 Dec 2020 |
| CVE-2018-15638 | Cross-site scripting (XSS) issue in mail module in Odoo Community 13.0 and earlier and Odoo Enterprise 13.0 and earlier, allows remote attackers to inject arbitrary web script in the browser of a victim via crafted channel names. | Medium 5.4 | 22 Dec 2020 |
| CVE-2018-15641 | Cross-site scripting (XSS) issue in web module in Odoo Community 11.0 through 14.0 and Odoo Enterprise 11.0 through 14.0, allows remote authenticated internal users to inject arbitrary web script in the browser of a victim via crafted calendar event attributes. | Medium 5.4 | 22 Dec 2020 |
| CVE-2018-15645 | Improper access control in message routing in Odoo Community 12.0 and earlier and Odoo Enterprise 12.0 and earlier allows remote authenticated users to create arbitrary records via crafted payloads, which may allow privilege escalation. | Medium 6.5 | 22 Dec 2020 |
| CVE-2019-11781 | Improper input validation in portal component in Odoo Community 12.0 and earlier and Odoo Enterprise 12.0 and earlier, allows remote attackers to trick victims into modifying their account via crafted links, leading to privilege escalation. | High 8.8 | 22 Dec 2020 |
| CVE-2019-11782 | Improper access control in Odoo Community 14.0 and earlier and Odoo Enterprise 14.0 and earlier, allows remote authenticated users with access to contact management to modify user accounts, leading to privilege escalation. | Medium 6.5 | 22 Dec 2020 |
| CVE-2019-11783 | Improper access control in mail module (channel partners) in Odoo Community 14.0 and earlier and Odoo Enterprise 14.0 and earlier, allows remote authenticated users to subscribe to arbitrary mail channels uninvited. | Medium 6.5 | 22 Dec 2020 |
| CVE-2019-11784 | Improper access control in mail module (notifications) in Odoo Community 14.0 and earlier and Odoo Enterprise 14.0 and earlier, allows remote authenticated users to obtain access to arbitrary messages in conversations they were not a party to. | Medium 6.5 | 22 Dec 2020 |
| CVE-2019-11785 | Improper access control in mail module (followers) in Odoo Community 13.0 and earlier and Odoo Enterprise 13.0 and earlier, allows remote authenticated users to obtain access to messages posted on business records there were not given access to, and subscribe to receive future messages. | Medium 4.3 | 22 Dec 2020 |
| CVE-2019-11786 | Improper access control in Odoo Community 13.0 and earlier and Odoo Enterprise 13.0 and earlier, allows remote authenticated users to modify translated terms, which may lead to arbitrary content modification on translatable elements. | Medium 4.3 | 22 Dec 2020 |
| CVE-2018-15632 | Improper input validation in database creation logic in Odoo Community 11.0 and earlier and Odoo Enterprise 11.0 and earlier, allows remote attackers to initialize an empty database on which they can connect with default credentials. | Critical 9.1 | 22 Dec 2020 |
| CVE-2019-11780 | Improper access control in the computed fields system of the framework of Odoo Community 13.0 and Odoo Enterprise 13.0 allows remote authenticated attackers to access sensitive information via crafted RPC requests, which could lead to privilege escalation. | High 8.1 | 19 Dec 2019 |
| CVE-2018-14733 | The Odoo Community Association (OCA) dbfilter_from_header module makes Odoo 8.x, 9.x, 10.x, and 11.x vulnerable to ReDoS (regular expression denial of service) under certain circumstances. | High 7.5 | 5 Jul 2019 |
| CVE-2018-14859 | Incorrect access control in the password reset component in Odoo Community 11.0 and earlier and Odoo Enterprise 11.0 and earlier allows authenticated users to reset the password of other users by being the first party to use the secure token. | High 8.1 | 3 Jul 2019 |
| CVE-2018-14860 | Improper sanitization of dynamic user expressions in Odoo Community 11.0 and earlier and Odoo Enterprise 11.0 and earlier allows authenticated privileged users to escape from the dynamic expression sandbox and execute arbitrary code on the hosting system. | Critical 9.1 | 3 Jul 2019 |
| CVE-2018-14865 | Report engine in Odoo Community 9.0 through 11.0 and earlier and Odoo Enterprise 9.0 through 11.0 and earlier does not use secure options when passing documents to wkhtmltopdf, which allows remote attackers to read local files. | Medium 6.5 | 3 Jul 2019 |
| CVE-2018-14861 | Improper data access control in Odoo Community 10.0 and 11.0 and Odoo Enterprise 10.0 and 11.0 allows authenticated users to perform a CSV export of the secure hashed passwords of other users. | Medium 6.5 | 3 Jul 2019 |
| CVE-2018-14862 | Incorrect access control in the mail templating system in Odoo Community 11.0 and earlier and Odoo Enterprise 11.0 and earlier allows authenticated internal users to delete arbitrary menuitems via a crafted RPC request. | Medium 6.5 | 3 Jul 2019 |
| CVE-2018-14863 | Incorrect access control in the RPC framework in Odoo Community 8.0 through 11.0 and Odoo Enterprise 9.0 through 11.0 allows authenticated users to call private functions via RPC. | High 8.1 | 3 Jul 2019 |
| CVE-2018-14864 | Incorrect access control in asset bundles in Odoo Community 9.0 through 11.0 and earlier and Odoo Enterprise 9.0 through 11.0 and earlier allows remote authenticated users to inject arbitrary web script via a crafted attachment. | Medium 6.5 | 3 Jul 2019 |
| CVE-2018-14866 | Incorrect access control in the TransientModel framework in Odoo Community 11.0 and earlier and Odoo Enterprise 11.0 and earlier allows authenticated attackers to access data in transient records that they do not own by making an RPC call before garbage collection occurs. | Medium 4.3 | 3 Jul 2019 |
| CVE-2018-14885 | Incorrect access control in the database manager component in Odoo Community 10.0 and 11.0 and Odoo Enterprise 10.0 and 11.0 allows a remote attacker to restore a database dump without knowing the super-admin password. An arbitrary password succeeds. | Critical 9.8 | 28 Jun 2019 |
| CVE-2018-14886 | The module-description renderer in Odoo Community 11.0 and earlier and Odoo Enterprise 11.0 and earlier does not disable RST's local file inclusion, which allows privileged authenticated users to read local files via a crafted module description. | Medium 4.9 | 28 Jun 2019 |
| CVE-2018-14887 | Improper Host header sanitization in the dbfilter routing component in Odoo Community 11.0 and earlier and Odoo Enterprise 11.0 and earlier allows a remote attacker to deny access to the service and to disclose database names via a crafted request. | Medium 6.5 | 28 Jun 2019 |
| CVE-2018-14867 | Incorrect access control in the portal messaging system in Odoo Community 9.0 and 10.0 and Odoo Enterprise 9.0 and 10.0 allows remote attackers to post messages on behalf of customers, and to guess document attribute values, via crafted parameters. | Medium 5.3 | 28 Jun 2019 |
| CVE-2018-14868 | Incorrect access control in the Password Encryption module in Odoo Community 9.0 and Odoo Enterprise 9.0 allows authenticated users to change the password of other users without knowing their current password via a crafted RPC call. | Medium 6.5 | 28 Jun 2019 |
| CVE-2017-5871 | Odoo Version <= 8.0-20160726 and Version 9 is affected by: CWE-601: Open redirection. The impact is: obtain sensitive information (remote). | Medium 5.4 | 22 May 2019 |
| CVE-2018-15631 | Improper access control in the Discuss App of Odoo Community 12.0 and earlier, and Odoo Enterprise 12.0 and earlier allows remote authenticated attackers to e-mail themselves arbitrary files from the database, via a crafted RPC request. | Medium 6.5 | 9 Apr 2019 |
| CVE-2018-15635 | Cross-site scripting vulnerability in the Discuss App of Odoo Community 12.0 and earlier, and Odoo Enterprise 12.0 and earlier allows remote attackers to inject arbitrary web script in the browser of an internal user of the system by tricking them into inviting a follower on a document with a crafted name. | Medium 5.9 | 9 Apr 2019 |
| CVE-2018-15640 | Improper access control in the Helpdesk App of Odoo Enterprise 10.0 through 12.0 allows remote authenticated attackers to obtain elevated privileges via a crafted request. | High 8.8 | 9 Apr 2019 |
| CVE-2017-10803 | In Odoo 8.0, Odoo Community Edition 9.0 and 10.0, and Odoo Enterprise Edition 9.0 and 10.0, insecure handling of anonymization data in the Database Anonymization module allows remote authenticated privileged users to execute arbitrary Python code, because unpickle is used. | Medium 6.5 | 4 Jul 2017 |
| CVE-2017-10804 | In Odoo 8.0, Odoo Community Edition 9.0 and 10.0, and Odoo Enterprise Edition 9.0 and 10.0, remote attackers can bypass authentication under certain circumstances because parameters containing 0x00 characters are truncated before reaching the database layer. This occurs because Psycopg 2.x before 2.6.3 is used. | Critical 9.8 | 4 Jul 2017 |
| CVE-2017-10805 | In Odoo 8.0, Odoo Community Edition 9.0 and 10.0, and Odoo Enterprise Edition 9.0 and 10.0, incorrect access control on OAuth tokens in the OAuth module allows remote authenticated users to hijack OAuth sessions of other users. | High 8.8 | 4 Jul 2017 |
| CVE-2017-9416 | Directory traversal vulnerability in tools.file_open in Odoo 8.0, 9.0, and 10.0 allows remote authenticated users to read arbitrary local files readable by the Odoo service. | Medium 6.5 | 4 Jun 2017 |
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 Latest advisories Loading the feed Overview Odoo is the largest open-source ERP by deployment, running accounting, inventory, payroll, point of sale and payment flows for an enormous long tail of companies, and the Community edition is the free half of a product a multi-billion-euro vendor sells. The reference point for cost is what a single tenant holds: invoices, salary records and payment provider configuration, all behind one login on one database. Odoo SA runs a mature disclosure programme with a PGP-signed security.txt and a published acknowledgements page, and the reward for a confirmed critical finding is a line in the Security Hall of Fame. sorona.xyz pays you directly on qualified, reproduced findings. In scope The published programme asks for any security issue in Odoo by email to [email protected] , and the signed security.txt gives the same address for the whole product. No component carve-out is stated, so the Community source tree is in scope as a whole The ORM and its access-rights layer: model access rules, record rules and the field-level restrictions every module relies on for authorisation The web controller and RPC surface, covering the JSON-RPC and XML-RPC entry points that expose model methods to any authenticated caller Multi-company record rules, where one database serves several legal entities and the separation between them is enforced in rules rather than in schema The accounting and invoicing modules, including bank synchronisation and the payment reconciliation flow Point of sale, including its offline mode and the session data held on a client until it syncs The website builder and eCommerce modules, plus every public controller they expose to unauthenticated visitors The portal, where an external user signs in to view their own quotations, invoices and tickets Payment provider modules and the callback or webhook route a gateway uses to report a completed transaction The QWeb template engine, used for reports, website pages and email, the main server-side template evaluation surface Attachments and the filestore, both the write path and the access check on retrieval The module installation and update mechanism, which loads new Python and XML into a running instance The database manager and the master password that protects database creation, duplication and backup Authentication modules in the Community tree, including LDAP and OAuth, plus API key handling and session management Mail, mass mailing and the inbound mail gateway, which processes messages from unauthenticated senders Out of scope Enterprise-only modules, which are not published in the Community tree this entry covers Third-party modules from the Odoo Apps store and from community collections such as the OCA repositories Odoo SA's own hosting and commercial SaaS infrastructure, which is the vendor's estate rather than the Community codebase Access rights or record rules an administrator configured deliberately Upstream Python dependency issues, unless Odoo's own use of the dependency is what makes the defect reachable Deployment configuration, including an instance that leaves the database manager reachable in production Most-valued findings Access-rights and record-rule bypass in the ORM. Every module in the product delegates authorisation there, so one gap is a gap across the whole ERP at once Multi-company separation failures, where one legal entity's accounting, payroll or customer data becomes readable from another entity on the same database RPC methods callable without the group or record rule they assume. The RPC surface exposes model methods broadly and the checks are applied by convention rather than uniformly Anything unauthenticated reachable through the website, eCommerce or portal controllers, since that is the part of Odoo deliberately facing the open internet Payment provider callback forgery that marks an order or invoice paid without a genuine transaction QWeb template injection in a report, a website page or a mail template, where an editable template reaches server-side execution The database manager and master password path, which reaches database creation, duplication and backup download on a production host Attachment and filestore access control, since on this product the files behind it are contracts, invoices and payslips Point-of-sale session and offline sync handling, where transaction data leaves the server and returns The inbound mail gateway, one of the few paths in Odoo where a complete stranger's input reaches server-side processing without any account 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. Email [email protected] , the private address published on Odoo's security-report page and corroborated by its signed security.txt Encrypt sensitive detail to the key published in the security.txt at download.odoo.com The repository does not use GitHub security advisories and private vulnerability reporting is not enabled on odoo/odoo, so there is no advisory button here Say which edition and which major version you tested. Community and Enterprise share a core, and Enterprise modules are not part of the Community tree Name the modules that were installed. Odoo is modular and the reachable surface changes completely between a bare install and a real deployment, so the module list is part of the reproduction Acknowledgement is a Hall of Fame entry, which the policy reserves for confirmed critical findings. There is no payment to negotiate Disclosure Coordinated privately with Odoo SA's security team by email. The programme is well established, with a signed security.txt, a published encryption key and a public acknowledgements page, so expect a professional process rather than a volunteer inbox. Odoo publishes through its own channel rather than as GitHub advisories, and it maintains several supported majors at once, so the practical embargo runs until fixes land across the supported series and the hosted estate has been rolled forward. 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