
CVE-2022-33171: ثغرة حقن SQL في TypeORM
معرف CVE: CVE-2022-33171
المنتج: TypeORM
الإصدارات المتأثرة: < 0.3.0
نوع الثغرة: حقن SQL
تاريخ الإفصاح: 28 يونيو 2022
يمكن تزويد الدالتين findOne(id) و findOneOrFail(id) في TypeORM قبل الإصدار 0.3.0 إما بسلسلة نصية أو بكائن FindOneOptions. عندما يكون الإدخال لهذه الدالة كائن JSON محللاً يتحكم فيه المستخدم، فإن تزويد كائن FindOneOptions مزيّف بدلاً من سلسلة معرّف يؤدي إلى حقن SQL.
توجد الثغرة للأسباب التالية:
findOne() أنواع إدخال مرنة (سلسلة نصية أو كائن FindOneOptions)صرّح مطوّرو TypeORM أن السبب الجذري هو عدم كفاية التحقق من الإدخال في جانب التطبيق، وليس المكتبة نفسها. ومع ذلك، فإن هذه الدالة مصممة صراحةً لقبول إدخال المستخدم، مما يجعل الحجة قابلة للدفاع بأن المكتبة يجب أن تتعامل مع هذا الأمر بأمان.
قم بالترقية إلى TypeORM 0.3.0 أو أحدث، والذي يتضمن إصلاحات لهذه الثغرة.