#CVE-2025-29927 #Bypass_Authorization
آسیب پذیری Bypass Authorization که برای Next.js در نسخه های زیر 13.5.6 و 14.2.25 و 15.2.3 آمده است.
ماجرا از این قرار که Middleware های طراحی شده در Next.js امکان اعمال تغییر در درخواست دریافتی را دارند، قبل از اینکه پارسر کد درخواست رو تحویل بگیره.
دور زدن مکانیزم کنترل سطح دسترسی یا Authorization زمانی انجام میشود که در درخواست ارسالی Header با نام
اگر Header با نام
مقدار
EXP
@Unk9vvN
آسیب پذیری Bypass Authorization که برای Next.js در نسخه های زیر 13.5.6 و 14.2.25 و 15.2.3 آمده است.
ماجرا از این قرار که Middleware های طراحی شده در Next.js امکان اعمال تغییر در درخواست دریافتی را دارند، قبل از اینکه پارسر کد درخواست رو تحویل بگیره.
دور زدن مکانیزم کنترل سطح دسترسی یا Authorization زمانی انجام میشود که در درخواست ارسالی Header با نام
x-middleware-subrequest تنظیم شده که بدان معنی است درخواست به Middleware تحویل داده شود و در شرط خط 707 اومده که زمانی که نام middleware در آرایه subrequests قرار داشته باشه پاسخ از نوع ()NextResponse.next برگشت داده شده و عملیات همزمان با ()Promise.resolve ادامه پیدا خواهد کرد.اگر Header با نام
x-middleware-subrequest تعریف شده باشه، Middleware بررسی امنیتی رو نادیده گرفته و درخواست رو به مقصد اصلی هدایت خواهد کرد که اینجا آسیب پذیری رخ خواهد داد.مقدار
MiddlewareInfo.name میتونه بدست بیاد و مسیر Middleware امکان تشخیص رو داشته چرا که در مسیریابی pages و با نام middleware.ts_ قرار داشته است.EXP
@Unk9vvN
#CVE-2025-30397 #JScript #UAF
تشریح اکسپلویتی برای مرورگر هایی که از موتور اجرایی
تکنیک اول: تعریف 16 بیت NOP برای ابتدای Shellcode اصلی، دوم تعریف Shellcode بصورت
تکنیک دوم: ایجاد یک حلقه
یک
به
در تابع
در انتها دقت کنید، تگ
@Unk9vvN
تشریح اکسپلویتی برای مرورگر هایی که از موتور اجرایی
JScript.dll استفاده میکنند مانند IE 11 ویندوز.تکنیک اول: تعریف 16 بیت NOP برای ابتدای Shellcode اصلی، دوم تعریف Shellcode بصورت
unescape.تکنیک دوم: ایجاد یک حلقه
for برای اجرای تکنیک Heap Spray در حافظه Heap برای ایجاد یک فضای مناسب که بتوان در ارجاع دوم Pointer، اقدام به بازنویسی Shellcode کرده برای اجرا.یک
Element از نوع iframe ساخته میشود، و src میشود به about:blank ، اینجا یک حافظه Heap رزرو خواهد شد.به
body آن sprayTarget وصل شده، و یک حلقه for ساخته شده و داخل اون try زده شده و درون اون contentWindow میاد یک کد JS رو در eval اجرا خواهد کرد.در تابع
eval یک کد JS که final درش هست که final حاوی shellcode بوده، اجرا میشود، همچنین در ادامه یک حلقه for دیگر تعریف شده که تگ div یک obj تعریف شده که با innerHTML یک Spray نیز اینجا انجام میشود.در انتها دقت کنید، تگ
object دوباره در victim تعریف شده و باز به body اتچ شده است، اینجا UAF رخ خواهد داد و شلکد قبلا نوشته شده اجرا میشود.@Unk9vvN