هر سال هزاران آسیبپذیری امنیتی جدید در سیستمعاملها، نرمافزارها، تجهیزات شبکه و سرویسهای مختلف کشف میشود. اگر برای هر آسیبپذیری نام یا شناسه استانداردی وجود نداشت، پیگیری، مدیریت و رفع آنها تقریباً غیرممکن میشد.
برای حل این مشکل، یک سیستم جهانی به نام CVE (Common Vulnerabilities and Exposures) ایجاد شده است که به هر آسیبپذیری شناختهشده، یک شناسه منحصربهفرد اختصاص میدهد.
امروزه تقریباً تمام شرکتهای امنیتی، تولیدکنندگان نرمافزار، ابزارهای اسکن آسیبپذیری و تیمهای امنیت اطلاعات از CVE بهعنوان زبان مشترک استفاده میکنند.
در این مقاله با مفهوم CVE، نحوه عملکرد آن، ساختار شمارهگذاری، مثالهای واقعی و تفاوت آن با مفاهیم مشابه آشنا خواهیم شد.

CVE مخفف عبارت Common Vulnerabilities and Exposures است.
CVE یک بانک اطلاعاتی از آسیبپذیریهای شناختهشده است که برای هر آسیبپذیری یک شناسه یکتا (Unique Identifier) تعریف میکند.
به بیان ساده:
CVE خودِ آسیبپذیری نیست، بلکه شماره شناسایی آن آسیبپذیری است.
فرض کنید یک آسیبپذیری در OpenSSH کشف شده است.
اگر هر شرکت امنیتی نام متفاوتی برای آن انتخاب کند:
توسعهدهنده یک نام استفاده کند.
شرکت امنیتی نام دیگری انتخاب کند.
ابزار اسکن نام سومی نمایش دهد.
مدیریت و پیگیری آن بسیار دشوار خواهد شد.
CVE این مشکل را حل کرده است.
تمام شناسههای CVE از یک الگوی مشخص پیروی میکنند.
CVE-YYYY-NNNNN
برای مثال:
CVE-2024-6387
در این شناسه:
2024 سال ثبت آسیبپذیری است.
6387 شماره منحصربهفرد آن در همان سال است.
فرض کنید خبری منتشر میشود که:
نسخهای از OpenSSH دارای آسیبپذیری اجرای کد از راه دور است.
در گزارش امنیتی مشاهده میکنید:
CVE-2024-6387
از این لحظه تمام شرکتهای امنیتی، تولیدکنندگان نرمافزار و ابزارهای اسکن دقیقاً با همین شناسه به آن آسیبپذیری اشاره میکنند.
هر CVE معمولاً شامل اطلاعات زیر است:
شناسه CVE
توضیح آسیبپذیری
نرمافزارهای تحت تأثیر
نسخههای آسیبپذیر
لینک به وصله امنیتی
منابع فنی
امتیاز CVSS
وضعیت اصلاح
همه افراد نمیتوانند مستقیماً یک CVE صادر کنند.
فرآیند معمول به این شکل است:
یک پژوهشگر امنیتی آسیبپذیری را کشف میکند.
موضوع به تولیدکننده نرمافزار گزارش میشود.
آسیبپذیری بررسی میشود.
یک شناسه CVE اختصاص داده میشود.
پس از انتشار وصله یا هماهنگی لازم، اطلاعات عمومی منتشر میشود.
تقریباً تمام محصولات فناوری اطلاعات میتوانند دارای CVE باشند.
برای مثال:
Linux Kernel
Windows Server
Ubuntu
Debian
AlmaLinux
Apache
Nginx
OpenSSH
OpenSSL
Docker
Kubernetes
WordPress
MySQL
MariaDB
PostgreSQL
VMware
Hyper-V
Cisco
MikroTik
فرض کنید نسخه خاصی از OpenSSH دارای یک CVE باشد.
اگر سرور شما هنوز از همان نسخه استفاده کند، ممکن است در برابر آن آسیبپذیر باشد.
به همین دلیل بررسی نسخه نرمافزارها اهمیت زیادی دارد.
مایکروسافت هر ماه وصلههای امنیتی منتشر میکند.
بسیاری از این وصلهها برای رفع CVEهای جدید هستند.
اگر بهروزرسانیها نصب نشوند، سیستم ممکن است همچنان در برابر آن آسیبپذیریها آسیبپذیر باقی بماند.

فرض کنید یک افزونه محبوب وردپرس دارای یک CVE جدید شود.
اگر مدیر سایت افزونه را بهروزرسانی نکند:
مهاجمان میتوانند از Exploit منتشرشده استفاده کنند.
کنترل سایت را به دست بگیرند.
اطلاعات کاربران را سرقت کنند.
یکی از مهمترین وظایف مدیران سیستم، بررسی مداوم CVEهای مرتبط با زیرساخت است.
روشهای رایج:
بررسی بولتنهای امنیتی
استفاده از اسکنرهای آسیبپذیری
مانیتورینگ اخبار امنیتی
استفاده از سامانههای مدیریت آسیبپذیری
خیر.
وجود CVE فقط به این معناست که یک آسیبپذیری شناخته شده است.
برای موفقیت حمله معمولاً باید شرایط دیگری نیز وجود داشته باشد.
برای مثال:
نرمافزار آسیبپذیر نصب شده باشد.
نسخه آسیبپذیر همچنان استفاده شود.
مهاجم بتواند به آن دسترسی پیدا کند.
آسیبپذیری قابل Exploit باشد.
خیر.
برخی CVEها:
فقط باعث افشای اطلاعات میشوند.
برخی تنها در شرایط خاص قابل سوءاستفاده هستند.
بعضی نیاز به دسترسی محلی دارند.
برخی دیگر امکان اجرای کد از راه دور را فراهم میکنند.
به همین دلیل شدت هر CVE با استفاده از CVSS ارزیابی میشود.
این دو اصطلاح معمولاً با هم اشتباه گرفته میشوند.
CVE
شناسه آسیبپذیری CVSSامتیاز شدت آسیبپذیرفقط شماره شناسایی است میزان خطر فنی را نشان میدهدمانند شماره پروندهمانند درجه اهمیت پرونده
فرض کنید خبر زیر منتشر شده است:
آسیبپذیری اجرای کد از راه دور در نسخههای قدیمی Apache کشف شد.
روند معمول به این صورت است:
آسیبپذیری کشف میشود.
شناسهای مانند CVE-2026-12345 دریافت میکند.
وصله امنیتی منتشر میشود.
شرکتهای امنیتی ابزارهای شناسایی آن را بهروزرسانی میکنند.
مدیران سیستم نسخههای خود را ارتقا میدهند.
برای کاهش ریسک ناشی از CVEها:
سیستمعامل را بهروز نگه دارید.
نرمافزارهای بدون استفاده را حذف کنید.
وصلههای امنیتی را سریع نصب کنید.
بهطور منظم اسکن آسیبپذیری انجام دهید.
داراییهای فناوری اطلاعات را فهرست کنید.
اخبار امنیتی مربوط به نرمافزارهای مورد استفاده را دنبال کنید.
از ابزارهای مدیریت آسیبپذیری استفاده کنید.
در مسیر یادگیری امنیت، مفاهیم به این شکل به یکدیگر متصل هستند:
Threat عامل بالقوه حمله است.
Vulnerability ضعف موجود در سیستم است.
CVE شناسه آن آسیبپذیری است.
Exploit از آسیبپذیری سوءاستفاده میکند.
CVSS شدت فنی آسیبپذیری را مشخص میکند.
Risk احتمال و پیامد سوءاستفاده از آن آسیبپذیری را برای سازمان ارزیابی میکند.
CVE یک استاندارد جهانی برای شناسایی و شمارهگذاری آسیبپذیریهای امنیتی است. این شناسه به پژوهشگران، مدیران سیستم، تولیدکنندگان نرمافزار و ابزارهای امنیتی کمک میکند تا درباره یک آسیبپذیری مشخص با زبان مشترک صحبت کنند.
وجود یک CVE بهتنهایی به معنای نفوذ یا حتی خطر بالا نیست، اما نشان میدهد که یک ضعف شناختهشده وجود دارد و باید بررسی شود که آیا سیستم شما تحت تأثیر آن قرار دارد یا خیر. مدیریت صحیح وصلههای امنیتی، پایش مداوم CVEهای مرتبط و بهروزرسانی نرمافزارها، از مهمترین اقدامات برای کاهش ریسک امنیتی هستند.
کیان پور