Adobe hat ein Sicherheitsupdate für Adobe Campaign v6.11 (16.11.8790) veröffentlicht. Dieses Update behebt eine kritische Eingabevalidierungsumgebung in Webanwendungen (Microsite, Survey usw.). Es könnte ausgenutzt werden, um beliebige Daten in die Datenbank zu schreiben (CVE-2017-2989).

Beschreibung

Dieses Dokument betrifft Adobe Campaign v6.0.x-Instanzen.

Das Folgende kann auch für v6.1-Builds bis 8767 verwendet werden, aber in diesem Fall wird ein Build-Upgrade dringend empfohlen.

Hinweis:

Selbst für die neueste 6.1.1, nur Version 6.x (HTML 5 & Webkit HTML to PDF) ist behoben. Aktualisieren Sie Ihre Webanwendungen auf diese Rendering-Engine. Andernfalls können Sie das unten beschriebene v6.0-Milderungsverfahren befolgen.

Screen_Shot_2017-03-09_at_5_47_24_PM

Erste Milderung: Alle Speicheraktivitäten manuell schützen.

Sie haben folgende Möglichkeiten:

  • Ersetzen Sie alle Speicheraktivitäten durch Ihren JavaScript-Code (definieren Sie selbst die Abstimmschlüssel).
  • Fügen Sie eine Skriptaktivität vor allen Speicherungen hinzu, um die Bereinigung durchzuführen (Erzwingen der Abstimmschlüssel und -vorgang).

Zweite Milderung: Alle Speicheraktivitäten manuell schützen.

Sie können zwei JavaScript-Server-Dateien patchen:

  • formbase.js (datakit/xtk/fra/js/server/formbase.js). Funktionen zum Patchen sind:
    • FormBase.prototype.loadContext
    • FormBase.prototype.pushActivityHistory
    • FormBase.prototype.popActivityHistory
  • webApp.js (/datakit/xtk/fra/js/server/webApp.js). Funktionen zum Patchen sind:
    • PreFillActivity.prototype.checkIdentifierImpl
    • PreFillActivity.prototype.loadEntityImpl
    • WriterActivity.prototype.write

 

Sie finden diese Patches im Extranet Download Center.

Zusätzlicher Schutz: Schränken Sie die „WebApp“-Benutzerrechte ein (vermeiden Sie, dass Sie etwas anderes als den Empfänger löschen).

Sie können auch Administratorrechte aus dem „WebApp“-Benutzer entfernen. Sie finden detaillierte Anweisungen in der Dokumentation:

  1. Erstellen Sie eine „WebApp“-Sicherheitsgruppe.
  2. Entfernen Sie die ADMINISTRATION-Berechtigungen aus dem „WebApp“-Benutzer.
  3. Fügen Sie den „WebApp“-Benutzer zu der „WebApp“-Sicherheitsgruppe hinzu.
  4. Fügen Sie für jeden Empfänger-(oder Profil-)Ordner die „WebApp“-Sicherheitsgruppe hinzu, die von Webanwendungen oder Umfragen ausgefüllt werden kann.

Oder importieren Sie das folgende Paket:

<package ignoreWarnings="true">
  <entities schema="xtk:group">
    <group label="Web Application agents" name="webapp" type="1">
      <folder _operation="none" name="xtkGroup"/>
      <operatorGroup>
        <group _operation="none" name="webapp" type="1"/>
        <operator _operation="none" name="webapp" type="0"/>
      </operatorGroup>
    </group>
  </entities>
 
  <entities schema="xtk:operatorGroup">
    <operatorGroup _operation="delete">
      <group _operation="none" name="admin" type="2"/>
      <operator _operation="none" name="webapp" type="0"/>
    </operatorGroup>
  </entities>
 
  <installScript>
    var folders = NLWS.xtkQueryDef.create({queryDef:{
      schema: "xtk:folder",
      operation: "select",
      select: { node: [
        {expr: "@name"}, {expr: "@id"}, {expr: "@model"}
      ]},
      where: { condition: [
        {expr:"@model IN ('nmsRecipient', 'nmsVisitor', 'nmsPurl')"}
      ]}
    }}).ExecuteQuery();
     
    for each( folder in folders.getElements("folder") ) {
      if( folder.$model == "nmsPurl" )
        folderRights = "read";
      else
        folderRights = "read|write";
      NLWS.xtkSession.Write({folder: {
          id: folder.$id,
          xtkschema: "xtk:folder",
          _operation: "update",
          rights: {
             _operation:"insertOrUpdate",
             propagate: "true",
             rights:    folderRights,
             "folder-id": folder.$id,
             operator: {
                name: "webapp",
                type: "1",
                _operation: "none"
             }
           }
         }
      });
    }
  </installScript>
 
</package>

Wie in der Dokumentation erläutert, können Sie zur Verbesserung der Sicherheit auch einen anderen „WebApp“-Benutzer erstellen.

Hinweis:

Wenn Sie zulassen möchten, dass Webanwendungen Empfänger löschen, müssen Sie rights: "read|write" by rights: "read|write|delete" im obigen Paket ersetzen.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie