Study on Odoo Security by our partner firm
Analysis by Invesics Cyber Forensics
Charity begins from home! OdooQa started the study on its own website. Invesics.com is our business partner who handles Odoo security on our behalf and we work hand in hands! Following is the analysis where the references are taken from Odoo.com and some from wikipedia. Following are the highlights, the complete one is here.
Odoo is an all-in-one management software that offers a range of business applications that form a complete suite of enterprise management applications targeting companies of all sizes. - including CRM,website/e-commerce, billing, accounting, manufacturing, warehouse - and project management, and inventory.
• The prime benefit of Odoo is its extensible architecture. A large number of freelancers and organizations develop Odoo Apps or Modules and place them in the marketplace for sale or to be downloaded for free.
• The main Odoo components are the Open Object framework, about 30 core modules (also called official modules) and more than 5000 community modules. Most Odoo modules are available in OdooS.A' s marketplace where community could buy or download many modules for free.
• As per 9 July 2018, 15759 Apps or modules were found on the marketplace in different categories. Most modules are served in all active versions of 9.0, 10.0 and 11.0.
Below are the security practices done by Odoo team to ensure security on Odoo cloud:
• Backup and disaster recovery: Odoo provides full backups for its instances up to 3 months. Odoo also has effective disaster management practices, with worst case scenario where the users can lose maximum 24hours of work if data cannot be recovered and restores the last daily backup.
• Database security: Customer data is stored in a dedicated database, where data is not shared between clients. Data access control rules implement complete isolation between customer databases.
• Password security: Customer passwords are protected with industry standard PBKDF2+SHA512 encryption(salted + stretched for thousands of rounds).Odoo staff does not have user passwords. If you lose it, you have to reset it.
• Employee access: Odoo staff may access user accounts to fix support issues (with use of a staff authorization, not user password).
• System security: All Odoo online servers are running hardened Linux distributions. Only a few trusted Odoo engineers have clearance to remotely manage the servers. Firewall and intrusion countermeasures prevent unauthorized access.
Physical security: Security cameras are monitoring the physical data centres. Physical access to data centres where Odoo servers are located is restricted to data centre technicians only.
• Communications: All web connections to client instances are protected with 256 bit SSL encryption. Odoo servers are always under watch and patched against latest SSL vulnerabilities.
Some recent vulnerabilities in Odoo which got exploited:
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.
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 0x00characters are truncated before reaching the database layer. This occurs because Psycopg 2.x before 2.6.3 isused.
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 OAuthsessions of other users.
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 theOdoo service.
Overall, we found the following noteworthy problems:
1. Cookie Poisoning
2. Session Termination
3. Broken Access Control
4. Cross Site Access Forgery
5. Cross Site Scripting (XSS)
6. Code Injection
7. Using HTTP Connection
8. Sensitive Data Exposure
10. Cross Frame Scripting (XFS)