Skip to main content

Missing secure obfuscation - JavaScript

Description

It is possible to obtain source code from the application since it has only been partially obfuscated in a secure way. This could allow an attacker to understand the inner workings of the application.

Impact

  • Understand the operation of the application in order to increase the attack vector.
  • Identify validations performed by the front end.

Recommendation

Perform an obfuscation process to the code exposed in web applications.

Threat

Unauthorized user from the Internet.

Expected Remediation Time

⌚ 60 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: P
  • 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:P/RL:X/RC:X
  • Score:
    • Base: 5.3
    • Temporal: 5.0
  • Severity:
    • Base: Medium
    • Temporal: Medium

Code Examples

Compliant code

The source code is stored using obfuscation techniques like a rename method

function calculatePay(a b){
while(b.c()){
b.a(true);
c.a();
b(c);
}
}

Non compliant code

The source code has been stored without using any form of obfuscation

function calculatePay(SpecialList clientGroup){
while(clientGroup.HasMore()){
clientGroup.getNext(true);
client.updatePay();
makePay(client);
}
}

Requirements