Bestimmte IDL-Konstrukte sind gemarshallt und falsch Unmarshal von RPC

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 824835 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
wichtig Dieser Artikel enthält Informationen zum Ändern der Registrierung. Sollten Sie die Registrierung sichern, bevor Sie Sie ändern. Stellen Sie sicher, dass Sie die Registrierung wiederherstellen kennen, wenn ein Problem auftritt. Weitere Informationen zum Sichern, Wiederherstellen und Bearbeiten der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
256986Beschreibung der Microsoft Windows-Registrierung
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Programme, die Remoteprozeduraufrufe (RPC), verwenden um Kommunikation mit anderen Windows-Computern über ein Netzwerk möglicherweise nicht ausgeführt. Z. B. Wenn Sie ein benutzerdefiniertes Microsoft Visual Basic-Programm zwischen zwei Remotecomputern verwenden, und der Visual Basic-Programm verwendet benutzerdefinierten Objekttyp Marshalling, können Sie suchen, die bestimmte IDL (Interface Definition Language) erstellt werden falsch gemarshallt und deren Marshalling rückgängig gemacht wurde. Zum Beispiel können Sie eines der folgenden Symptome auftreten:
  • Der remote Aufruf schlägt fehl, und Fehler RPC_X_BAD_STUB_DATA-Code wird von Visual Basic-Programm zurückgegeben.
  • Falsche Daten sind deren Marshalling rückgängig gemacht wurde.

Ursache

Dieses Problem kann auftreten, wenn die RPC-Komponente fehlerhaft marshallt oder unmarshals bestimmte IDL-Konstrukte. Die folgenden: Versionen von Windows, die möglicherweise nicht ordnungsgemäß marshallen und Marshallens IDL-Konstrukte
  • Microsoft Windows XP (Originalversion) und Windows XP Service Pack 1 (SP1)-Installationen, die die Sicherheit MS03-039 zu aktualisieren. Dieses Update wird in der folgenden Microsoft Knowledge Base beschrieben:
    824146MS03-039: Pufferüberlauf in RPCSS kann Ausführung von schädlichen Programmen Angreifer
  • Microsoft Windows 2000
  • Microsoft Windows NT 4.0
  • Microsoft Windows 98
Dieses Problem kann in Visual Basic-Programm auftreten, wenn die beiden folgenden Bedingungen erfüllt sind:
  • Die IDL-Datei verwendet eine Struktur, die ein 8-Byte-Feld enthält, die eine der folgenden Typen verwendet:
    Datum
    Double
    CY
    VARIANT
    DEZIMALZAHL
    INT64-UINT64
  • 8-Byte-Feld ist ein Feld nicht zuerst, und es ist ein Feld, das 4 Bytes ist oder kleiner vor dem 8-Byte-Feld, das in der gleichen Struktur enthalten ist.
Dieses Problem kann beispielsweise auftreten, wenn die IDL-Datei eine Struktur verwendet, die der folgenden ähnelt:
Public Type myType

member1 As Long

member2 As Double

End Type

Lösung

Hotfix-Informationen für Windows Server 2003

Gehen Sie folgendermaßen vor Kommunikation mit Versionen von Windows, die falsch gemarshallt und Marshallens IDL-Konstrukte
  1. Wählen Sie eine der folgenden Vorgehensweisen:
    • Installieren Sie das neueste Servicepack für Windows Server 2003 . Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
      889100So erhalten Sie das neueste Servicepack für Windows Server 2003
    • Ich nstallieren den im Security Bulletin MS05-051 beschriebenen Sicherheitsupdates.Weitere Informationen zum Security Bulletin MS05-051 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
      902400MS05-051: Sicherheitsanfälligkeiten in MSDTC und COM+ können Remotecodeausführung ermöglichen
  2. Fügen Sie den Registrierungseintrag UDTAlignmentPolicy hinzu. Gehen Sie hierzu folgendermaßen vor:

    Warnung Schwerwiegende Probleme können auftreten, wenn Sie die Registrierung falsch mithilfe des Registrierungs-Editors oder mithilfe einer anderen Methode ändern. Diese Probleme erfordern möglicherweise eine Ihr Betriebssystem neu installieren. Microsoft kann nicht garantieren, dass diese Probleme gelöst werden können. Ändern Sie die Registrierung auf eigene Gefahr.
    1. Klicken Sie auf Start , klicken Sie auf Ausführen , in das Feld Öffnen , geben Sie regedit ein und klicken Sie dann auf OK .
    2. Suchen Sie den folgenden Registrierungsunterschlüssel:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc
    3. Klicken Sie im Menü Bearbeiten auf neu , und klicken Sie dann auf DWORD-Wert .
    4. Geben Sie UDTAlignmentPolicy , und drücken Sie anschließend die [EINGABETASTE].
    5. Doppelklicken Sie auf UDTAlignmentPolicy , und geben Sie dann einen Wert für das Datenformat, das RPC verwenden wird auf den folgenden Informationen bestimmen:

      Wenn der UDTAlignmentPolicy -Wert auf 0 festgelegt ist, wird RPC gemarshallt, indem Sie das "alte" falsche Daten-Format. RPC kommuniziert mit Windows-Versionen, die falsch gemarshallt und Marshallens IDL-Konstrukte. Z. B. RPC kommuniziert mit Windows 2000 oder Windows XP SP1-Installationen, die MS03-039 aktualisieren.

      Wenn der UDTAlignmentPolicy -Wert auf 0 festgelegt ist, kann RPC mit Windows 2000-basierten Computern kommunizieren.

      Wenn der UDTAlignmentPolicy -Wert auf 1 festgelegt ist, wird RPC mit das "new" richtigen Wireformat gemarshallt. RPC kommuniziert mit Windows-Versionen, die ordnungsgemäß marshallen und Marshallens IDL-Konstrukte. Z. B. RPC kommuniziert mit Windows Server 2003 oder Windows-Installationen, die MS03-026 aktualisieren.

      Wenn der UDTAlignmentPolicy -Eintrag nicht vorhanden, der remote Aufruf fehl schlägt und RPC wird einen Fehlercode RPC_X_BAD_STUB_DATA zurück betroffen Wenn RPC versucht, marshallen oder Marshallens Typen.

      wichtig Wenn der UDTAlignmentPolicy -Wert auf 0 festgelegt ist, kann Ihre Windows Server 2003-Computer Daten für das IDL-Konstrukt mit Versionen von Windows austauschen, die falsch marshallen und Marshallens IDL-Konstrukte. Allerdings ist das IDL-Konstrukt ungemarshallte in das falsche Format. Falsche Marshalling und Unmarshalling Code verhindern möglicherweise die Interoperabilität von dieses dieselbe IDL-Konstrukts und andere IDL erstellt bei Programmen mit Computern kommunizieren, mit deren Versionen von Windows ordnungsgemäß ausgeführt zu marshallen und Marshallens IDL-Konstrukte.

Für Windows XP Service Pack-Informationen

Installieren Sie das neueste Service Pack für Windows XP, um dieses Problem zu beheben. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
322389Wie Sie das neueste Service Pack für Windows XP erhalten
In Windows XP Service Pack 2 ändern Sie den Registrierungseintrag UDTAlignmentPolicy, um die Art und Weise anpassen, die RPC mit unterschiedlichen Versionen von Windows kommuniziert. Tun Sie dies, indem Sie Schritt 3 in den "Hotfix Informationen für Windows Server 2003" (Abschnitt).

Hotfix-Informationen für Windows XP

Installieren Sie das MS03-039-Update auf Ihrem Windows XP SP1-basierten Computern, für die Kommunikation mit Versionen von Windows, die falsch gemarshallt und Marshallens IDL-Konstrukte, wie z. B. Aktualisieren von Windows 2000 oder Windows XP SP1-Installationen, die MS03-039 enthalten. Weitere Informationen zu MS03-039 finden Sie die folgende KB-Artikelnummer:
824146MS03-039: Pufferüberlauf in RPCSS kann Ausführung von schädlichen Programmen Angreifer
Ein unterstützter Hotfix ist nicht aktuell verfügbar für Windows-basierte Computer, die mit Versionen von Windows, die ordnungsgemäß marshallen und Marshallens IDL-Konstrukte mithilfe von RPC kommunizieren. Diese Versionen sind Windows Server 2003 und Windows XP-Installationen, die MS03-026 aktualisieren.

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind. Dieses Problem wurde erstmals im Microsoft Windows XP Service Pack 2.

Weitere Informationen

Die folgenden: Versionen von Windows, die ordnungsgemäß marshallen und Marshallens das IDL-Konstrukt, das im Abschnitt "Ursache" genannt wird
  • Microsoft Windows Server 2003 und späteren Versionen
  • Microsoft Windows XP Service Pack 1 (SP1)-Installationen, die MS03-026 aktualisieren, jedoch nicht das Sicherheitsupdate MS03-039. Das Update MS03-026 wird in der folgenden Microsoft Knowledge Base beschrieben:
    823980MS03-026: Pufferüberlauf in RPC-Schnittstelle kann Remotecodeausführung ermöglichen
  • Microsoft Windows XP Service Pack 2 (SP2)
Hinweis: Ein unterstützter Hotfix ist nicht aktuell verfügbar für Windows 2000-basierte Computer, die mit Versionen von Windows, die ordnungsgemäß marshallen und Marshallens IDL-Konstrukte mithilfe von RPC kommunizieren. Diese Versionen sind Windows Server 2003 und Windows XP-Installationen, die MS03-026 aktualisieren.

Eigenschaften

Artikel-ID: 824835 - Geändert am: Donnerstag, 27. Februar 2014 - Version: 13.6
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Professional 64-Bit Edition (Itanium) 2003
  • Microsoft Windows XP Professional 64-Bit Edition (Itanium)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
Keywords: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbtshoot kbwinxpsp2fix kbwinxppresp2fix kbfix kbbug KB824835 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 824835
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com