تخطي إلى المحتوى الرئيسي
الدعم
تسجيل الدخول باستخدام حساب Microsoft
تسجيل الدخول أو إنشاء حساب.
مرحباً،
تحديد استخدام حساب مختلف!
لديك حسابات متعددة
اختر الحساب الذي تريد تسجيل الدخول باستخدامه.

الملخص

مشكلة عدم حصانة في تنفيذ التعليمات برمجية عن بعد موجودة في Microsoft Visual Studio سنة 2019 و Visual Studio 2017 حالة ملف XOML (لغة التوصيف الكائن الموسعة) تشير إلى أنواع معينة ويؤدي رمز عشوائي ليتم تشغيلها عند فتح الملف في Visual الاستوديو.

يوجد الآن قيد عليه المسموح لاستخدامها في ملفات.xoml. إذا تم فتح ملف.xoml يحتوي على أحد أنواع غير مصرح به حديثا، تتلقى رسالة خطأ تنص على النوع غير مخول.

أأ معرفة المزيد حول مشكلة عدم الحصانة، فانتقل إلى CVE 2019 1113.

الحل البديل

إذا كان ملف.xoml المفتوحة لا يسبب مشاكل الأمان، يمكنك تعطيل عملية فحص لأنواع غير المصرح به. للقيام بذلك، إضافة مفتاح إلى<appSettings>مقطع من ملف devenv.exe.config ، كما يلي:

...
<appSettings>
<add key="microsoft:WorkflowComponentModel:DisableXOMLSerializerTypeChecking" value="true"/>
</appSettings>
...

هذا appSetting القيمة تماما تعطيل نوع التحقق في مسلسل XOML (لغة التوصيف الكائن الموسعة). إذا تم تعيين القيمة إلى true، يكون لها الأسبقية على القيمة appSetting الجديدة التالية لعدم قبول أنواع معينة فقط.

إذا كنت تريد فقط لعدم السماح ببعض أنواع معينة، يجب عليك إجراء التغييرات التالية على الملف devenv.exe.config :

...
<appSettings>
<add key="microsoft:WorkflowComponentModel:DisableXOMLSerializerDefaultUnauthorizedTypes" value="true"/>
</appSettings>
...

يسمح هذا التغيير على كافة أنواع غير مصرح به بشكل افتراضي. لوضع علامة على أنواع معينة كغير المصرح به، يجب عليك أيضا إجراء التغييرات التالية على الملف devenv.exe.config :

...
<configuration>
...
<configSections>
<sectionGroup name="System.Workflow.ComponentModel.WorkflowCompiler" type="System.Workflow.ComponentModel.Compiler.WorkflowCompilerConfigurationSectionGroup, System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="authorizedTypes" type="System.Workflow.ComponentModel.Compiler.AuthorizedTypesSectionHandler, System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</sectionGroup>
</configSections>
...
<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>
<foo version="v4.0">
<authorizedType Assembly="System.Activities.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Activities.Presentation" TypeName="WorkflowDesigner" Authorized="false"/>
</foo>
</authorizedTypes>
</System.Workflow.ComponentModel.WorkflowCompiler>
...
</configuration>
...

هذه التغييرات نوع ووركفلووديسيجنير في الجمعية System.Activities.Presentation بدون إذن، علامة كما يلي:

  • الإصدار: 4.0.0.0

  • الثقافة: الطبيعية

  • PublicKeyToken: 31bf3856ad364e35

لوضع علامة على أنواع أخرى بدون إذن، يمكنك إضافة إدخالات مشابهة لتلك الأنواع.

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×