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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-20896 — إثبات المفهوم العام ومكتشف لـ CVE-2026-20896 ("Gitea Docker: One Header, Any User") | Kitploit
أدوات/GitHubGitHub/rz1027/cve-2026-20896
تحليل الثغرات الأمنيةالاستغلالأمن الويباختبار الاختراقالمصادقةسوء التكوينالتعلم والتعليمالفريق الأحمر
GitHubrz1027/cve-2026-20896

CVE-2026-20896

إثبات المفهوم العام ومكتشف لـ CVE-2026-20896 ("Gitea Docker: One Header, Any User")

عرض المستودع
612منذ 2 أشهرلم تتم المراجعة بعد
الموقع الإلكتروني

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-20896

صورة Docker الرسمية لـ Gitea (حتى الإصدار 1.26.2 وما يشملها) تأتي مع REVERSE_PROXY_TRUSTED_PROXIES = * في إعداداتها الافتراضية. إذا قمت بتفعيل تسجيل الدخول عبر الوكيل العكسي (reverse-proxy login)، فإن ذلك البدل (wildcard) يعني أن كل عنوان IP مصدر يُعتبر وكيلاً موثوقًا، وبالتالي يمكن لأي شخص يمكنه الوصول إلى المنفذ إرسال ترويسة X-WEBAUTH-USER وتسجيل الدخول كأي شخص يريد. بدون كلمة مرور، بدون رمز مميز.

أبلغت Gitea بهذا وقد تم إصلاحه في الإصدارين 1.26.3 / 1.26.4. هذا المستودع هو شرح خاص بي، وإثبات مفهوم عملي، وأداة فحص. إنه لخلل تم تصحيحه ومنشور للعامة.

  • سجل CVE: https://www.cve.org/CVERecord?id=CVE-2026-20896 (المبلغ: rz1027)
  • إرشادات Gitea الأمنية: https://github.com/go-gitea/gitea/security/advisories/GHSA-f75j-4cw6-rmx4
  • الإصلاح / ملاحظات الإصدار: https://blog.gitea.com/release-of-1.26.3-and-1.26.4/

الخلل

يدعم Gitea المصادقة عبر الوكيل العكسي: حيث تضعه خلف وكيل يضع X-WEBAUTH-USER، ويثق Gitea في تلك الترويسة لمعرفة اسم المستخدم. هذا جيد طالما أن وكيلك فقط هو من يمكنه تعيينها. الإعداد الذي من المفترض أن يفرض ذلك هو REVERSE_PROXY_TRUSTED_PROXIES، وهو قائمة مسموح بها لعناوين IP. يلتزم Gitea بالترويسة فقط عندما يكون عنوان IP المصدر للطلب ضمن هذه القائمة.

الإعداد الافتراضي الموثق كآمن، الموجود في app.example.ini، هو 127.0.0.0/8,::1/128: الحلقة المحلية فقط، لذا في الإعداد الأولي، يثق فقط بالوكيل المحلي. صورة Docker الرسمية لا تستخدم ذلك. قالب app.ini الخاص بها يرمز إلى * بشكل صارم (docker/root/etc/templates/app.ini:55، وdocker/rootless/etc/templates/app.ini:52 للصورة عديمة الجذور). يطابق * كل عنوان IP مصدر، لذا لا يفعل فحص القائمة المسموح بها شيئًا. قم بتفعيل تسجيل الدخول عبر الوكيل العكسي والآن يمكن لأي شخص يمكنه الوصول إلى المنفذ إرسال الترويسة، وليس فقط وكيلك. مع تفعيل التسجيل التلقائي، يتم إنشاء الحساب فورًا. أرسل اسم مستخدم مسؤول وستصبح المسؤول.

إذاً، الكود ليس خاطئًا، بل الإعداد الافتراضي المرفق هو الخاطئ، وهو خاص بصور Docker. التثبيت الثنائي أو المبني ذاتيًا الذي يتبع app.example.ini يحتفظ بالإعداد الافتراضي للحلقة المحلية ولا يتأثر.

جربه

يتطلب Docker وPython 3 (مكتبة قياسية فقط، لا حاجة لتثبيت شيء).

root@kitploit:~
docker compose up -d          # boots vulnerable gitea/gitea:1.26.2
# give it ~30-60s to finish first-run setup, then:
python3 poc.py                # random new victim, shows auto-registration
python3 poc.py http://localhost:3000 admin   # impersonate a chosen username
docker compose down -v        # clean up

ما يبدو عليه ضد الصورة المرفقة:

  1. /user/settings بدون ترويسة -> HTTP 303 (إعادة توجيه إلى تسجيل الدخول = غير موثّق)
  2. /user/settings مع X-WEBAUTH-USER -> HTTP 200 تم تسجيل الدخول باسم 'pocadmin' - بدون كلمة مرور، بدون رمز مميز، أي عنوان IP مصدر
  3. صفحة ملف pocadmin -> HTTP 200 (تم إنشاء الحساب فورًا)

الاختراق يعمل على جلسة الويب، وليس على API الرمز المميز في /api/v1/...، الذي يتجاهل الترويسة.

افحص نسختك الخاصة

detect.py يرسل استقصاءً واحدًا غير ضار ويقارنه بطلب عادي. لا يلمس أي شيء.

root@kitploit:~
python3 detect.py https://gitea.example.com

يطبع VULNERABLE أو looks-safe أو inconclusive. قم بتشغيله فقط ضد شيء تملكه أو لديك إذن لاختباره.

الإصلاح

قم بالترقية إلى الإصدار 1.26.3 / 1.26.4 أو أحدث. المصادقة عبر الوكيل العكسي اختيارية الآن ولم تعد الصورة تشحن البدل. إذا لم تتمكن من الترقية بعد، قم بتعيين REVERSE_PROXY_TRUSTED_PROXIES إلى عنوان IP الفعلي للوكيل الخاص بك أو CIDR (لا تستخدم * أبدًا)، أو أوقف ENABLE_REVERSE_PROXY_AUTHENTICATION إذا كنت لا تستخدمه.

الجدول الزمني

  • 2026-05-26: تم الإبلاغ به إلى Gitea بشكل خاص.
  • 2026-07-03: تم نشر CVE-2026-20896، منسوب إلى rz1027.
  • تم إصلاحه في Gitea 1.26.3 / 1.26.4.

الإسناد

لقد وجدت هذا الخلل وأبلغت Gitea به في 2026-05-26. أنا المبلغ المذكور في إرشادات Gitea الأمنية، GHSA-f75j-4cw6-rmx4.

بعض التغطيات أعادت الفضل إلى مستودع Exploitarium بدلاً مني. هذا خطأ، وهو شيء منفصل عما نشره ذلك المستودع. ومنذ ذلك الحين، تمكنت من تصحيح عدة من تلك المدونات؛ القليل منها لا يزال خاطئًا.

مرخص بموجب MIT. انظر LICENSE.

تنزيل الأداة