#Frotigate #RCE #CVE-2024-21762
یکی از محصولات شرکت Fortinet که تولید کننده محصولات امنیت سایبری است، با نام FortiGate SSL VPN دارای یک آسیب پذیری باینری بوده که امکان اجرای کد از راه دور را میدهد.

نوع آسیب پذیری out-of-bounds write است به معنی نوشتن خارج از فرایند اجرای اصلی برنامه، که پیش از احراز امکان رخداد دارد.

مشکل در توابع Parser پروتکل HTTP است که بواسطه دریافت نوع داده مخرب، فرایند تخریب حافظه اتفاق می افتد، این نوع داده مخرب در Header با نام Chunked است که یک Transfer Encoding محسوب میشود، در توابع پارسر پروتکل.

یک حلقه while وجود دارد که در صورت تایید شرط مبنی بر کوچکتر بودن مقدار iVar3 از 1 ، param_1 مقدار دهی میشود و در مرحله بعد مقدار در تابع FUN_01707e10__ap_getline فراخوانی خواهد شد.

در انتهای مقدار Header کاراکتر های 0x0d و 0x0a را write میکند تا کاراکتر های CRLF را در لایه نرم افزار اعمال کند، اما با قرار دادن مقدار 0 برای طول کاراکتر chunked ، یک حلقه while اجرا میشود که مقدار param_1 را + 1 کرده و نهایتا در bVar2 میریزد.

@Unk9vvN