Oxid EE 4.3.2 Datenleck in oxuser

Hallo,

vor ein paar Tagen machte uns ein Kunde A (in unserem Shopsystem registriert) darauf aufmerksam, dass er nach Login im Shop plötzlich Adressdaten eines anderen Users B sah. Das ist natürlich eine Katastrophe.

Meine Analyse der Daten in den Tabellen oxuser und oxorder ergab:

  • User A hat sich 2010 registriert und mit dieser Registrierung mehrfach gekauft. Alles ok
  • Dann kauft User B OHNE Registrierung. Nachdem er seine Adressdaten im Checkout eingegeben hat, ordnet Oxid ihm den oxuser-Datensatz des Users A zu und überschreibt die Adressdaten des Users A mit den Daten, die User B gerade eingegeben hat.
  • User B schliesst die Order ab. Der betr. oxorder-Datensatz enthält in oxuserid den Verweis auf oxuser des Users A! Und er enthält die E-Mail-Adresse des Users A (im Feld oxbillemail) - was User B wohl nicht bemerkte.
  • User B kauft später ein weiteres Mal ohne Registrierung - hier ist alles ok, ein neuer oxuser-Datensatz wird für User B angelegt, mit dessen E-Mail-Adresse
  • Danach meldet sich User A am Shopsystem an und sieht die Adressdaten des Users B in seinem Kundenkonto

Das Verhalten des Oxid-Shopsystems ist natürlich nicht reproduzierbar. In hunderten von anderen Fällen von Käufern mit und ohne Registrierung funktioniert das Shopsystem korrekt.

Umso mehr sind wir verunsichert, weil bereits ein solcher Einzelfall sehr negative Konsequenzen haben kann.

Hat jemand von euch eine ähnliche Erfahrung gemacht? Gibt es irgendwelche Gedanken dazu?

Im Oxid-Bugtracker fand ich keine Hinweise auf ein derartiges Verhalten.

Bin für jeden Hinweis dankbar!

finnegan

Hi finnegan,
das das natürlich schon ne recht alte Oxid Version ist, brauch ich ja nicht zu sagen.
Gibt es denn noch irgendwelche Module, die installiert sind? Vor allem natürlich Erweiterung von oxuser?

Grüße
Fabian

Hi Fabian,

zunächst vielen Dank für dein Post!

Du hast natürlich recht: die V 4.3.2 ist schon dutzende Monate alt. Aber es gilt auch in der IT: Never touch a running system! - und: neuere Softwareversionen sind nicht immer fehlerfreier als die Vorläufer.
Meine Hoffnung ist: jemand sagt, das ist ein bekannter Bug, und ab Version 4.x ist der behoben. Dann upgraden wir.

Es gab wohl einen Bug (#1701) in der V 4.2.0, der möglicherweise zu dem von mir beschriebenen Fehler führte, aber der soll in der 4.3.1 behoben worden sein.

Module: Ja, wir setzen einige ein. Ich habe sie kontrolliert, keine schreibt in oxuser.

Viele Grüsse

finnegan

Hallo,

solche sog. “Security Issues” sollten sehr ernst genommen und vor allem nicht öffentlich im Forum besprochen werden, um andere Shopbetreiber nicht zu kompromittieren. Siehe

Unabhängig davon würde ich Dich bitten, eine genaue Beschreibung auf die security@ zu schicken, wie wir solches Verhalten reproduzieren können. Auch wenn wir vermutlich die 4.3er nicht mehr mit einem Patch unterstützen können, sollte doch nachgeprüft werden, ob ähnliches Verhalten in den derzeitig aktuellen Versionen auftritt.

BTW: Das was Du beschreibst, klingt mir ganz hier nach, allerdings wurde das schon in der 4.1.4 gefixt, ein späterer Fall ist nicht bekannt geworden:

Es kann auch sein, dass genau dieser Patch bei Dir in einem Update nicht eingespielt wurde. Das könntest Du mit einer oxchkversion überprüfen.

Gruß

Ach verdammt, jetzt seh ich grad in der Überschrift, dass es sich um eine EE handelt. Dann könnte es auch dieser hier sein, gefixt in der 4.4.6:

Übrigens: Kunden und Partner erhalten immer eine gesonderte Information bevor der Security Bulletin veröffentlicht wird. Du solltest für die Zukunft sicherstellen, dass diese Information auch auf Deinem Tisch landet. Bei Fragen frag mich gern per PN oder im Support.

Gruß

Hallo Marco,

mein Dank auch an dich für deine Reaktion!

Oxid ist ein gutes System, und mir liegt es fern, irgendjemand zu kompromittieren.
Gleichzeitig sind wir darauf angewiesen, bei einem nicht reproduzierbaren Fehler eine möglichst breite Erfahrunsplattform zu haben.

Wenn mein Eröffnungsposting nicht mit den Forumsregeln konform ist, kannst du es auch wieder löschen.

Deinen Hinweisen (oxcheckversion und mail @security) werde ich in Kürze nachgehen. Wie du schreibst, ist Reproduzierbarkeit eigentlich die Voraussetzung, damit ein Problem gelöst werden kann. Und ich habe leider keinen Schimmer, wie das aufgetretene Problem reproduziert werden könnte. Ich sah nur das Resultat in phpmyadmin klar vor mir.

Grüße

finnegan

Marco, jetzt haben sich unsere Postings (dein letztes und meines) überkreuzt.
Dein neuer Hinweis auf das security bulletin könnte eine “heisse Spur” sein. Prima!

finnegan

Nee, löschen brauchen wir da nix - es ist nun eh schon seit heute Nachmittag öffentlich. Zu solchen kritischen Angelegenheiten wirst Du auch selten mehr als diese schwammigen Formulierungen in einem Security Bulletin bekommen. Im Bugtracker finden sich meist gezielte Anleitungen für einen solchen möglichen “Angriff”, deshalb bleiben diese Bug-Reports auch auf “privat”.

Wichtig ist, dass Dich künftig solche Informationen erreichen. Zu einem Update muss ich diesem speziellen Fall unbedingt raten, auch wenn das sicher weh tut.

Gruß