محققان امنیتی پروژهی صفر گوگل، از کشف چندین آسیبپذیری در ImageIO، رابط برنامهنویسی کاربردی مورد استفاده برای تجزیهی تصاویر در سیستمهای عامل iOS و MacOS اپل، خبر دادند. برخی از این اشکالهای امنیتی که در کد تجزیهی تصویر موجود هستند، کتابخانههای متنباز تصاویر و نه خود چارچوب ImageIO، را تحت تأثیر قرار میدهند. این آسیبپذیریها میتوانند از طریق برنامههای پیامرسان محبوب و با ارسال فایلهای تصویری دستکاریشده به کاربر هدف بهرهبرداری شوند. همچنین، محققان معتقدند كه ممكن است برخی از اشکالهای موجود برای اجرای كد از راه دور، بدون تعامل با كاربر، مورد بهرهبرداری قرار گیرند.
در مجموع، ۱۴ آسیبپذیری شناسایی شده است که ۵ مورد از آنها، چارچوب ImageIO اپل و ۹ مورد دیگر، کتابخانهی OpenEXR را تحت تأثیر قرار میدهند. کتابخانهی OpenEXR، یک فرمت فایل تصویر با دامنهی پویای بالاست که برای برنامههای تصویربرداری رایانهای ایجاد شده است. اولین آسیبپذیری گزارششده به اپل، یک اشکال سرریز بافر در استفاده از libTiff در چارچوب ImageIO است که شناسهای را دریافت نکرده است.
محققان همچنین آسیبپذیریهای خواندن خارج از محدوده بر روی پشته را به هنگام پردازش تصاویر DDS (CVE-2020-3826) یا تصاویر JPEG (CVE-2020-3827) با پارامترهای اندازهی نامعتبر، یک خطای off-by-one در منطق رمزگشاییPVR (CVE-2020-3878)، یک اشکال مرتبط با رمزگشای PVR (CVE-2020-3878) و یک اشکال خواندن خارج از محدوده به هنگام بررسی تصاویر OpenEXR (CVE-2020-3880) را گزارش کردهاند.
آخرین آسیبپذیری نیز در کتابخانهی OpenEXR، کد شخص ثالث همراه با ImageIO، رخ میدهد، اما تولید آن در کتابخانهی آپاستریم OpenEXR امکانپذیر نیست. محققان توضیح احتمالی این موضوع را به این صورت بیان میکنند که، اپل نسخهی منسوخ شدهای از کتابخانهی OpenEXR را ارسال میکرده و این اشکال، در آپاستریم رفع شده است.
بااینحال، پس از کشف این آسیبپذیری، این کتابخانهی متنباز نیز مورد تجزیه و تحلیل قرار گرفته و در مجموع، ۸ آسیبپذیری منحصربهفرد شناسایی و گزارش شد.
این آسیبپذیریها شامل یک اشکال نوشتن خارج از محدوده (CVE-2020-11764)، یک اشکال منجر به خواندن خارج از محدودهی std::vector (CVE-2020-11763)، تابع memcpy خارج از محدوده (CVE- 2020-11762)، اشکالهای خواندن خارج از محدودهی دادههای پیکسلی و سایر ساختارهای داده (CVE-2020-11760، CVE-2020-11761 و CVE-2020-11758)، یک اشکال خواندن خارج از محدوده بر روی پشته (CVE -2020-11765) و یک اشکال سرریز عدد صحیح (CVE-2020-11759)، هستند.