Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-3909 — إثبات مفهوم لاستغلال CVE-2026-3909، وهي ثغرة خارج النطاق في Skia الخاصة بمتصفح Chromium، مع تصحيحات وتحليل للانهيار لضمان تفعيل موثوق في بيئات المتصفح الحقيقية. | Kitploit
أدوات/GitHubGitHub/jaf0rk/cve-2026-3909
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالاختبار العشوائيتحليل الملفات الثنائية
GitHubjaf0rk/cve-2026-3909

CVE-2026-3909

إثبات مفهوم لاستغلال CVE-2026-3909، وهي ثغرة خارج النطاق في Skia الخاصة بمتصفح Chromium، مع تصحيحات وتحليل للانهيار لضمان تفعيل موثوق في بيئات المتصفح الحقيقية.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-3909 إثبات المفهوم لمتصفح Chromium

يحتوي هذا المستودع على إثبات مفهوم (PoC) لثغرة CVE-2026-3909 التي يمكن تشغيلها بشكل موثوق في متصفح Chromium.

الخلفية

الإصلاح الرسمي من Skia لهذه الثغرة تضمّن فقط حالة اختبار مبسّطة للتوضيح:

  • العرض التوضيحي الرسمي: AtlasOobTest.cpp

لا يمكن تشغيله في بيئة Chromium حقيقية. كان العرض التوضيحي الرسمي محدودًا عمدًا وحذف شروط التشغيل الرئيسية.
هذا الإثبات مبني على العرض التوضيحي الرسمي وتم تعديله لتشغيل الثغرة بشكل موثوق داخل بيئة متصفح Chromium حقيقية.

التصحيحات المرفقة

يتكون هذا الإثبات من تعديلات على الملفات التالية:

1. raster_implementation.cc.patch

المسار: <دليل جذر Chromium>/src/gpu/command_buffer/client/raster_implementation.cc

2. SkChromeRemoteGlyphCache.cpp.patch

المسار: <دليل جذر Chromium>/src/third_party/skia/src/text/gpu/SkChromeRemoteGlyphCache.cpp

3. أخرى

بالإضافة إلى ملفي التصحيح الموجودين، يمكنك أيضًا إضافة كود تصحيح داخل دالة DrawAtlas::hasID(). يتيح لك ذلك تحليل ومراقبة سبب تشغيل الإنهاء (abort).``` bool hasID(const skgpu::PlotLocator& plotLocator) { if (!plotLocator.isValid()) { return false; }

    uint32_t plot = plotLocator.plotIndex();
    uint32_t page = plotLocator.pageIndex();
    // patch code
    printf("[*] POC plot idx: %x fNumPlots: %x\n", plot, fNumPlots);
    // origin code
    uint64_t plotGeneration = fPages[page].fPlotArray[plot]->genID();
    uint64_t locatorGeneration = plotLocator.genID();
    return plot < fNumPlots && page < fNumActivePages && plotGeneration == locatorGeneration;
}
```markdown
| الخيار | الوصف |
|--------|-------------|
| `-h`, `--help` | عرض رسالة المساعدة والخروج |
| `-v`, `--version` | عرض رقم الإصدار والخروج |
| `-d`, `--debug` | تفعيل وضع التصحيح |
| `-q`, `--quiet` | الوضع الصامت، عرض الأخطاء فقط |
| `-c`, `--config` | تحديد ملف إعدادات مخصص |
| `-o`, `--output` | تحديد ملف الإخراج |
| `-f`, `--format` | تحديد تنسيق الإخراج |
| `-t`, `--threads` | عدد الخيوط المتوازية |
| `-r`, `--retries` | عدد محاولات إعادة الاتصال |
| `-p`, `--proxy` | استخدام خادم وكيل |
| `-u`, `--user-agent` | تحديد وكيل مستخدم مخصص |
| `-x`, `--timeout` | مهلة الاتصال بالثواني |
| `-s`, `--silent` | إخفاء اللافتة والرسائل غير الضرورية |
| `-n`, `--no-color` | تعطيل الإخراج الملون |
| `-V`, `--verbose` | وضع الإسهاب، عرض معلومات إضافية |
| `-l`, `--list` | سرد جميع الوحدات المتاحة |
| `-m`, `--module` | تحديد وحدة للاستخدام |
| `-a`, `--all` | تشغيل جميع الوحدات المتاحة |
| `-e`, `--exclude` | استبعاد وحدات محددة |
| `-i`, `--input` | ملف إدخال يحتوي على الأهداف |
| `-T`, `--target` | تحديد هدف واحد |
| `-R`, `--range` | نطاق عناوين IP أو CIDR |
| `-P`, `--port` | منفذ أو نطاق منافذ محدد |
| `-U`, `--url` | عنوان URL مستهدف |
| `-D`, `--domain` | نطاق مستهدف |
| `-W`, `--wordlist` | ملف قائمة كلمات |
| `-C`, `--cookie` | ملف تعريف ارتباط للجلسة |
| `-H`, `--header` | رأس HTTP مخصص |
| `-X`, `--method` | طريقة HTTP (GET، POST، إلخ) |
| `-B`, `--body` | بيانات جسم الطلب |
| `-A`, `--auth` | بيانات المصادقة (مستخدم:كلمة مرور) |
| `-J`, `--json` | إخراج النتائج بصيغة JSON |
| `-Y`, `--yaml` | إخراج النتائج بصيغة YAML |
| `-S`, `--csv` | إخراج النتائج بصيغة CSV |
| `-E`, `--export` | تصدير النتائج إلى ملف |
| `-K`, `--insecure` | تخطي التحقق من شهادة TLS |
| `-F`, `--follow-redirects` | اتباع عمليات إعادة التوجيه |
| `-N`, `--no-update` | تعطيل التحقق من التحديثات |
| `-Z`, `--zip` | ضغط ملف الإخراج |
| `-G`, `--grep` | تصفية النتائج حسب النمط |
| `-I`, `--ignore` | تجاهل الأخطاء والمتابعة |
| `-O`, `--overwrite` | الكتابة فوق ملفات الإخراج الموجودة |
| `-M`, `--max` | الحد الأقصى لعدد النتائج |
| `-L`, `--limit` | حد المعدل (طلبات في الثانية) |
| `-Q`, `--query` | استعلام بحث مخصص |
| `-b`, `--batch` | وضع الدفعات، بدون تفاعل |
| `-w`, `--wait` | الانتظار بين الطلبات |
| `-y`, `--yes` | الإجابة بنعم على جميع المطالبات |
| `-k`, `--keep` | الاحتفاظ بالملفات المؤقتة |
| `-j`, `--jobs` | عدد المهام المتوازية |
| `-g`, `--glob` | نمط glob لمطابقة الملفات |
| `-z`, `--gzip` | استخدام ضغط gzip |
| `-1`, `--once` | التشغيل مرة واحدة فقط |
| `-2`, `--twice` | التشغيل مرتين |
| `-3`, `--thrice` | التشغيل ثلاث مرات |
| `-4`, `--four` | التشغيل أربع مرات |
| `-5`, `--five` | التشغيل خمس مرات |
| `-6`, `--six` | التشغيل ست مرات |
| `-7`, `--seven` | التشغيل سبع مرات |
| `-8`, `--eight` | التشغيل ثماني مرات |
| `-9`, `--nine` | التشغيل تسع مرات |
| `-0`, `--zero` | التشغيل صفر مرات |

[*] POC plot idx: 1f fNumPlots: 10

## Git log
Chromium:```
commit e00a64ead1abef9447943efede7bc26362ac3797 (HEAD -> 146.0.7680.71, tag: 146.0.7680.71)
Author: Roger McFarlane <[email protected]>
Date:   Mon Mar 9 12:52:01 2026 -0700

    [M146-desktop-respin] Make LimitedLayerEntropyCostTracker time-aware.
    
    This change modifies the LimitedLayerEntropyCostTracker to account for
    the entropy cost of studies that are active at a specific evaluation
    time. The evaluation time is passed to the tracker's constructor and is
    used to check against the study's filter dates and Google web visibility
    dates.
    
    The current time for entropy evaluation is sourced from
    VariationsIdsProvider.
    
    (cherry picked from commit 2ec2c50b47686def251947a2675a207863803cac)
    
    Bug: 490248046, 490432663
    Change-Id: I3174730f35b037d533bf10b2b1d0531e3781acfe
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7639358
    Reviewed-by: Alexei Svitkine <[email protected]>
    Commit-Queue: Alexei Svitkine <[email protected]>
    Cr-Original-Commit-Position: refs/heads/main@{#1595543}
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7637760
    Bot-Commit: Rubber Stamper <[email protected]>
    Cr-Commit-Position: refs/branch-heads/7680_65@{#23}
    Cr-Branched-From: efe36a9d42443b4091a5be1be21e93ceff9b7a5e-refs/branch-heads/7680@{#1898}
    Cr-Branched-From: 76b7d80e5cda23fe6537eed26d68c92e995c7f39-refs/heads/main@{#1582197}

وسائط البناء```

Set build arguments here. See gn help buildargs.

is_official_build = false is_debug = true
symbol_level = 2 v8_symbol_level = 2 blink_symbol_level = 2 is_component_build = false
proprietary_codecs = true
ffmpeg_branding = "Chrome"
v8_enable_sandbox = true dcheck_always_on = true optimize_webui = true target_os = "linux" target_cpu = "x64"

## الاستخدام

1. طبّق ملفي التصحيح على إصدار ضعيف من Chromium.
2. افتح المتصفح `chrome <path>/trigger.html`

## إحباط```
gen/third_party/libc++/src/include/__memory/unique_ptr.h:578: libc++ Hardening assertion __checker_.__in_bounds<deleter_type>(std::__to_address(__ptr_), __i) failed: unique_ptr<T[]>::operator[](https://github.com/jaf0rk/cve-2026-3909/blob/main/index): index out of range
Received signal 6
تنزيل الأداة