Oracle NetSuite misconfiguration could lead to data exposure

Pierluigi Paganini August 20, 2024

Researchers discovered thousands of Oracle NetSuite e-stores that are vulnerable to data leak, sensitive customer information is at risk.

Cybersecurity researchers from AppOmni warn of a potential issue in Oracle NetSuite SuiteCommerce platform could allow attackers to access customer sensitive data.

NetSuite is a widely used SaaS Enterprise Resource Planning (ERP) platform, valued for its capability to deploy external-facing online stores through SuiteCommerce or SiteBuilder. These stores, hosted on a subdomain of the NetSuite tenant, enable unauthenticated customers to browse, register, and purchase products directly from a business.

The issue is not a vulnerability in the NetSuite solution, it is a misconfiguration of access controls on custom record types (CRTs) that can leak customer sensitive.

Exposed sensitive data are PII of registered customers, including full addresses and mobile phone numbers.

Threat actors target Custom Record Types (CRTs) in NetSuite that use “No Permission Required” access controls, allowing unauthenticated users to access data through NetSuite’s record and search APIs. However, for the attack to be successful, the attacker must first know the names of the CRTs being used.

“We must also assume that an unauthenticated actor knows the name of the CRT. Prior to this article being published, there existed a method which could be invoked that would return the names of all CRTs. However this has since been fixed.” reads the report published by the researchers. “Today, CRT names can be retrieved using two methods.

  • Brute-forcing the API endpoint shown in Step One below, using a word list consisting of popular CRT names that has been collated using public resources such as Github.”
  • Through observing HTTP traffic during interaction with the site, looking for strings prefixed with ‘customrecord_’ in responses.

To mitigate the risk, administrators should tighten access controls on Custom Record Types (CRTs), restrict public access to sensitive fields, and consider temporarily taking affected sites offline to prevent data exposure.

“The surefire way to solve these data exposure problems is to harden access controls on CRTs. The easiest solution from a security standpoint may involve changing the Access Type of the record type definition to either ‘Require Custom Record Entries Permission’ or ‘Use Permission List’.” concludes the report. In reality, many organizations have a genuine business requirement for some of the fields within the record type to be exposed. As such, I would highly recommend that administrators begin assessing access controls at the field level and identify which, if any, fields are required to be exposed. For fields which must be locked down from public access, administrators must make both of the below changes:

  • Default Access Level: None
  • Default Level for Search / Reporting: None

Follow me on Twitter: @securityaffairs and Facebook and Mastodon

Pierluigi Paganini

(SecurityAffairs – hacking, Oracle NetSuite)



you might also like

leave a comment