#CVE-2024-38063 #Integer_Overflow on tcpip.sys
اخیرا آسیب پذیری ای ثبت شد در پروتکل TCP/IP که از نوع Integer Overflow و Integer Underflow بود به معنی سر ریز عددی یک ورودی عددی.

این آسیب پذیری در فرایند Fragmentation و Reassemble کردن تکه های بسته پروتکل IPv6 قرار داشت که محققین با بررسی این فرایند متوجه شدند در زمانی که ساختار بسته IPv6 تکه تکه میشوند، آخرین بسته با تاخیر 60 ثانیه ای تحویل Parser گیرنده داده میشود.

این تاخیر 60 ثانیه ای تابعی با نام Ipv6pReassemblyTimeout را فراخوانی کرده که این تابع بسته ها را drop میکند، همچنین به فیلد More میبایست مقدار 0 بگیرد تا اعلام کند آخرین بسته است.

اینجا در تصویر Disassemble شده کد سی پلاس، اگر دقت کنید ثبات edx که یک اشاره گر به rdi+68h داخلش انتقال داده شده، در ادامه در نوع داده dx خودش که میشود 16 بیتی، مقادیر 8 و r15+8 اضافه میشود.

اینجا اگر مقدار packet_length برابر با 0xFFD0 باشد و بعد مقدار 8 بایت بهش اضافه شود، مقدار 0xFFD8 میشود، حالا اگر مقدار net_buffer_length بیشتر از 0x27 باشد، مثلا 39 بایت، اینجا ثبات DX سر ریز عددی خواهد کرد.

@Unk9vvN