یک آسیبپذیری امنیتی با شناسه CVE-2026-89425 در کتابخانه محبوب FasterXML jackson-core شناسایی شده است که میتواند منجر به اختلال در دسترسپذیری سرویس (DoS) شود.
جزئیات فنی آسیبپذیری
این مشکل در متد UTF8DataInputJsonParser._reportInvalidToken() ریشه دارد. زمانی که این پارسر با یک توکن نامعتبر مواجه میشود، برای ساخت پیام خطا، کاراکترهای شناسه Java را در یک حلقه به StringBuilder اضافه میکند. نکته بحرانی این است که این حلقه هیچ حد بالایی (Upper Bound) ندارد.
تفاوت با سایر پیادهسازیها
برخلاف سایر پیادهسازیهای مشابه مانند UTF8StreamJsonParser، این بخش از کد هرگز مقدار getMaxErrorTokenLength() را در ErrorReportConfiguration بررسی نمیکند (که مقدار پیشفرض آن ۲۵۶ است). در نتیجه، اگر یک توکن مخرب و بسیار طولانی از طریق JsonFactory.createParser(DataInput) به پارسر ارسال شود، دادهها بهطور نامحدود در حافظه انباشته شده و منجر به مصرف شدید منابع یا کرش کردن برنامه میگردد.
تأثیرات امنیتی
- نوع حمله: Denial of Service (DoS)
- سطح دسترسی: هر کسی که بتواند دادههای ورودی JSON را به اپلیکیشن ارسال کند.
- پیامد: مصرف بیش از حد حافظه (Memory Exhaustion) و توقف سرویس.