در کد با پیادهسازی مرجع مشخصات TPM 2.0 (ماژول پلتفرم مورد اعتماد)، آسیبپذیریهایی شناسایی شدند (CVE-2023-1017، CVE-2023-1018) که منجر به نوشتن یا خواندن دادهها فراتر از محدوده بافر اختصاصیافته میشود. حمله به پیادهسازی پردازندههای رمزنگاری با استفاده از کد آسیبپذیر میتواند منجر به استخراج یا بازنویسی اطلاعات ذخیرهشده روی تراشه مانند کلیدهای رمزنگاری شود. توانایی بازنویسی داده ها در سیستم عامل TPM می تواند توسط مهاجم برای سازماندهی اجرای کد خود در زمینه TPM استفاده شود، که برای مثال، می تواند برای پیاده سازی درهای پشتی که در سمت TPM کار می کنند و شناسایی نمی شوند استفاده شود. توسط سیستم عامل
آسیبپذیریها ناشی از تأیید نادرست اندازه پارامترهای تابع CryptParameterDecryption() است که اجازه میدهد دو بایت فراتر از مرز بافر ارسال شده به تابع ExecuteCommand() و حاوی دستور TPM2.0 نوشته یا خوانده شود. بسته به اجرای سفتافزار، دو بایت بازنویسی شده میتوانند هم حافظه استفادهنشده و هم دادهها یا اشارهگرهای روی پشته را خراب کنند.
این آسیبپذیری با ارسال دستورات طراحی شده ویژه به ماژول TPM مورد سوء استفاده قرار میگیرد (مهاجم باید به رابط TPM دسترسی داشته باشد). مشکلات در بهروزرسانی مشخصات TPM 2.0 که در ژانویه منتشر شد (1.59 Errata 1.4، 1.38 Errata 1.13، 1.16 Errata 1.6) حل شد.
کتابخانه باز libtpms که برای شبیهسازی نرمافزار ماژولهای TPM و ادغام پشتیبانی TPM در هایپروایزرها استفاده میشود، نیز آسیبپذیر است. این آسیبپذیری در نسخه libtpms 0.9.6 رفع شد.
منبع: opennet.ru