Business information leak - Power BI
Description
Business information is obtained, such as:
- Strategic Information
- KIPS
- Sales Information
- Dispatch Information
Impact
- Obtain strategic business information.
- Obtain KPI indicators.
- Obtain sales and dispatches information.
Recommendation
Establish access controls to resources with potentially sensitive information.
Threat
User not authenticated in the application from the Internet.
Expected Remediation Time
⌚ 30 minutes.
Score
Default score using CVSS 3.1. It may change depending on the context of the vulnerability.
Base
- Attack vector: N
- Attack complexity: L
- Privileges required: N
- User interaction: N
- Scope: U
- Confidentiality: L
- Integrity: N
- Availability: N
Temporal
- Exploit code madurity: X
- Remediation level: X
- Report confidence: X
Result
- Vector string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N/E:X/RL:X/RC:X
- Score:
- Base: 5.3
- Temporal: 5.3
- Severity:
- Base: Medium
- Temporal: Medium
Code Examples
Compliant code
The application handles connections without storing parameters in source code
const request = require('request');
const prepareView: function(req, res) {
getAccessToken().then(function(accessToken) {
getEmbedToken(accessToken, req.params.groupId, req.params.dashboardId).then(function(embedToken) {
res.render('index', {
dashboardId: req.params.dashboardId,
embedToken,
embedUrl: POWERBI_URL + req.params.dashboardId + '&groupId=' + req.params.groupId
});
});
});
}
Non compliant code
There are Power BI credentials stored in the source code
const request = require('request');
const getAccessToken = function () {
return new Promise(function (resolve, reject) {
const url = POWERBI_URL;
const username = 'myUserName';
const password = 'myPassword';
const clientId = 'myClientId';
//Remaining code to handle connection to Token
}
};
Requirements
- 176. Restrict system objects
- 177. Avoid caching and temporary files
- 261. Avoid exposing sensitive information
- 300. Mask sensitive data
free trial
Search for vulnerabilities in your apps for free with our automated security testing! Start your 21-day free trial and discover the benefits of our Continuous Hacking Machine Plan. If you prefer a full service that includes the expertise of our ethical hackers, don't hesitate to contact us for our Continuous Hacking Squad Plan.