TeleJSON prior to 6.0.0 contains a DOM-based cross-site scripting vulnerability in the parse() function that allows attackers to execute arbitrary JavaScript by delivering a crafted JSON payload containing a malicious _constructor-name_ property value. The custom reviver passes the constructor name directly to new Function() without sanitization when recreating object prototypes, enabling attackers to inject arbitrary JavaScript through vectors such as postMessage in cross-frame communication contexts to achieve script execution within the application.
TeleJSON versions before 6.0.0 contain a DOM-based XSS vulnerability in the parse() function where crafted JSON payloads with malicious _constructor-name_ properties can execute arbitrary JavaScript. The vulnerability exploits unsanitized constructor names passed to new Function(), allowing attackers to inject code through cross-frame communication.
تؤثر هذه الثغرة على تطبيقات الويب التي تستخدم مكتبة TeleJSON لتحليل بيانات JSON. يمكن للمهاجمين استغلال الثغرة من خلال إرسال حمولات JSON مصنوعة عبر postMessage أو قنوات اتصال أخرى. قد يؤدي الاستغلال الناجح إلى تنفيذ كود JavaScript عشوائي في سياق التطبيق المتأثر.
إصدارات TeleJSON السابقة للإصدار 6.0.0 تحتوي على ثغرة XSS قائمة على DOM في دالة parse() حيث يمكن لحمولات JSON المصنوعة بخاصية _constructor-name_ خبيثة تنفيذ JavaScript عشوائي. تستغل الثغرة أسماء المنشئات غير المعقمة التي يتم تمريرها إلى new Function()، مما يسمح للمهاجمين بحقن الكود عبر الاتصالات بين الإطارات.
Upgrade TeleJSON to version 6.0.0 or later immediately. Implement input validation and sanitization for all JSON payloads before parsing. Apply Content Security Policy (CSP) headers to prevent inline script execution. Validate and sanitize constructor names before passing to new Function(). Implement postMessage validation and origin checking for cross-frame communication.
قم بترقية TeleJSON إلى الإصدار 6.0.0 أو أحدث فوراً. طبق التحقق من صحة المدخلات والتعقيم لجميع حمولات JSON قبل التحليل. طبق رؤوس سياسة أمان المحتوى (CSP) لمنع تنفيذ البرامج النصية المضمنة. تحقق من أسماء المنشئات وعقمها قبل تمريرها إلى new Function(). طبق التحقق من صحة postMessage والتحقق من الأصل للاتصالات بين الإطارات.