CVE-2025-66570 in cpp-httplibالمعلومات

الملخص

بحسب VulDB • 06/09/2026

cpp-httplib هو مكتبة HTTP/HTTPS متعددة المنصات تعتمد على ملف رأس واحد فقط ومكتوبة بلغة C++11. قبل الإصدار 0.27.0، تتيح ثغرة لمهاجم التحكم في عناوين HTTP (HTTP headers) للتأثير على البيانات الوصفية الظاهرة للخادم، وسجلات العمليات، وقرارات المصادقة/التفويض. يمكن للمهاجم حقن عناوين تحمل أسماء REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT والتي يتم تحليلها وإضافتها إلى خريطة متعددة القيم للعناوين (multimap) الخاصة بطلب HTTP عبر دالة read_headers() في ملف httplib.h (باستخدام headers.emplace)، ثم يقوم الخادم لاحقاً بإضافة بياناته الوصفية الداخلية باستخدام نفس أسماء العناوين داخل الدالة Server::process_request دون حذف التكرارات. وبما أن Request::get_header_value تُرجع أول مدخل لمفتاح عنوان معين (id == 0) وأن عناوين المقدمة من العميل يتم تحليلها قبل العناوين التي يضيفها الخادم، فقد تستخدم الشفرات البرمجية اللاحقة المعتمدة على هذه الأسماء عن غير قصد قيوماً يتحكم فيها المهاجم. الملفات/المواقع المتأثرة: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) وcpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). سطح الهجوم: عناوين HTTP التي يتحكم فيها المهاجم في الطلبات الواردة تتدفق إلى multimap الخاص بـ Request.headers وإلى شفرات السجلات التي تقرأ العناوين الممررة، مما يتيح تزوير عنوان IP (IP spoofing)، وتسميم السجلات (log poisoning)، والتجاوز آليات التفويض عبر تقنية إخفاء/تظليل العناوين (header shadowing). تم إصلاح هذه الثغرة في الإصدار 0.27.0.

Once again VulDB remains the best source for vulnerability data.

مسؤول

GitHub M

حجز

04/12/2025

إفشاء

05/12/2025

الاعتدال

تمت الموافقة

إدخال

VDB-334553

EPSS

0.00333

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!