Leakvent 7: Vino24, Rindchens Weinkontor und Staatsweingut Freiburg

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Gleich drei Mal waren 2023 Daten von Wein-Käufer*innen ziemlich offen zugänglich. Die Ursache war in jedem Fall ein Symfony Profiler. Über diesen können u.a. Zugangsdaten im Klartext sowie Konfigurationsdaten eingesehen werden.

Beim Staatsweingut Freiburg konnte man sich damit beim SQL-Server einloggen und auf Daten von etwa 9.400 Kund*innen zugreifen.

Bei Rindchens Weinkontor lagen die Zugangsdaten eines Administrators. Damit konnten in der Testumgebung Daten von etwa 50.000 und in der Produktivumgebung Daten von mehr als 60.000 Kund*innen eingesehen werden.

Bei Vino24 sieht es ähnlich aus, dort waren Daten von knapp 250.000 Kund*innen zugänglich.

Leakvent 6: Der Bundesgerichtshof

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Im Januar 2024 meldeten wir eine SQL Injection in den Entscheidungsdatenbanken von Bundesgerichtshof und Bundespatentgericht. Die Lücke wurde wahrscheinlich geschlossen, bestand aber im August 2025 wieder.

Ein Parameter des Login-Formulars (BGH, andere Gerichte analog) war anfällig für eine Time-based SQL Injection. Darüber konnte auf mehrere Datenbanken zugegriffen werden. Passwörter der Nutzer*innen wurden lediglich mit dem veralteten md5-Hashverfahren gehasht und konnten wiederhergestellt werden.

Damit konnte auf den internen Bereich der Entscheidungsdatenbanken zugegriffen werden, ohne die SQL Injection zu bemühen. So hätten Entscheidungen verändert, gelöscht oder auch neu erstellt werden können.

Außerdem erlaubt eine Funktion des Portals das Auflisten von Inhalten von server-seitigen Verzeichnissen, bspw. /etc/. Durch das Verändern von URL-Parametern konnte das Parsing von PDF-Dateien beeinflusst werden. Es wurde aber nicht versucht, eine Shell hochzuladen.

Leakvent 5: Vevor

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Über viele Monate waren 2022 bei dem Baumarkt-Temu Vevor über die Zeit immer mehr und schließlich fast 800 Gigabyte Logs einsehbar. Ein Elasticsearch erlaubte unter wechselnden IP-Adressen bei AWS anonymen Zugang.

Indices: 309, document count: 1496535116, size: 797.9 GB
Found index goods-2022.11.10 with 37131622 documents (13.4 GB)
Found index risk-2022.11.08 with 579851 documents (216.2 MB)
Found index risk-2022.11.09 with 562293 documents (207.3 MB)
Found index goods-2022.11.11 with 40573566 documents (14.7 GB)
Found index goods-2022.11.12 with 37160357 documents (12.1 GB)
Found index goods-2022.11.13 with 34469876 documents (11.9 GB)
Found index risk-2022.11.07 with 598158 documents (224.6 MB)
Found index vevor-pc-2022.11.08 with 68842 documents (53.3 MB)
Found index vevor-pc-2022.11.07 with 78280 documents (60.3 MB)
Found index vevor-pc-2022.11.09 with 75443 documents (57.0 MB)
Found index .opendistro-reports-instances with 0 documents (208 B)
Found index data-gateway-lua-access-2022.11.05 with 4604008 documents (1.4 GB)
Found index email-marketing-2022.11.13 with 306537 documents (334.7 MB)
...

Einzelne Einträge zeigen bspw, wer was wohin bestellt hat.

[INFO]2022-07-1202:30:01.789[DubboServerHandler-10.20.29.145:20992-thread-6]INFOc.v.pay.channel.util.ApiCallUtils-[62ccdca8e4b01fd5208ea9e7]ApiCallUtil.callPaypalresponse:TOKEN=EC-0461416764794954C&
BILLINGAGREEMENTACCEPTEDSTATUS=0&
CHECKOUTSTATUS=PaymentActionNotInitiated&
TIMESTAMP=2022-07-12T02:30:01Z&
...
SHIPTONAME=##VORNAME## ##NACHNAME## &
SHIPTOSTREET=##STRASSE##&
SHIPTOSTREET2=##STRASSE##&
SHIPTOCITY=Hamburg&
SHIPTOSTATE=Hamburg&
SHIPTOZIP=21029&
SHIPTOCOUNTRYCODE=DE&
SHIPTOPHONENUM=*&
SHIPTOCOUNTRYNAME=Germany&
ADDRESSSTATUS=Confirmed&
CURRENCYCODE=EUR&
AMT=56.99&
...
L_NAME0=4L Wasser Destilliergerät Wasserfilter Wasserdestillier Innenteil aus Edelstahl&
...

Auch die Bayerische Datenschutzbehörde wurde informiert. Ob diese tätig wurde oder Betroffene von Vevor informiert wurden, ist unklar. Klar ist aber, dass auch andere die Daten gefunden haben: {"@timestamp": "2099-11-15T13:12:00", "message": "All indexs has been dropped. But we backup all indexs. The only method of recoveribing database is to pay 0.021 BTC. Transfer to this BTC address 14UCEfQG5vs7kZAbFrcZ7K4BCiEa48mdFu . You can buy bitcoin here, does not take much time to buy https://localbitcoins.com or https://buy.moonpay.io/ . After paying write to me in the mail with your DB IP: recmydata@onionmail.org and you will receive a link to download your database dump.\n"}

Leakvent 4: Plenar TV Niedersachsen

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

  1. Unter https://landtag-niedersachsen-tv.im-en.com/.git/ befand sich 2021 ein git-Repository. Dort lag Quellcode des Plenar-TV:

./config/config.php
./connect.php
./index2dash_ohneredner.php
./index2dash.php
./index2.php
./index.php
./modules/cms.php
./modules/cutVideo.php
./modules/onlineCutterDash.php
./modules/onlineCutter.php
./modules/test.php
./Mustache/Autoloader.php

  1. In der Datei connect.php sind gültige mysql-Zugangsdaten enthalten.
    $con=mysqli_connect("127.0.0.1","landtag-hannover",█████████████,"█████████████");
  2. Unter https://landtag-niedersachsen-tv.im-en.com/.gitignore befand sich ein Hinweis auf den Pfad https://landtag-niedersachsen-tv.im-en.com/voddb/. Dort lag ein phpMyAdmin. So konnten die mysql-Zugangsdaten genutzt werden, obwohl der mysql-Server selbst nicht direkt von außen erreichbar war.

Leakvent 3: Emma Matratze

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Unter http://www.admin.emma-matratze.de/ leakte ein git-Repository, das neben Quellcode auch gültige Zugangsdaten enthielt:

==> cron/██████████.php <==
<?php
require_once '██████.php';
// todo put to system configuration

$hostname = '{imap-mail.outlook.com:993/ssl}MC';
$username = '██████@bettzeit.com';
$password = '██████████████';

Das Kontaktformular unter https://www.emma-matratze.de/kontakt/ hat meine Meldung blockiert: “Sorry, you have been blocked
You are unable to access emma-matratze.de
“, auch meine E-Mail wurde offenbar ignoriert. Die Zugangsdaten sind nach mehr als drei Jahren noch immer gültig.

Leakvent 2: Die Partei

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Weiter geht es mit der Partei Die Partei. Die Entwicklungsumgebung eines Webshops für Parteibedarf mit aktiviertem Symfony Profiler war 2022 offen zugänglich.

The profiler is a powerful development tool that gives detailed information about the execution of any request.

Never enable the profiler in production environments as it will lead to major security vulnerabilities in your project.

Über diesen Profiler konnten u.a. Konfigurationsdaten (“mysql://dev:████████@localhost:3306/dev”) sowie personenbezogene Daten von Bestellenden (Name, Adresse, E-Mail-Adresse) abgerufen werden. Die Daten reichten ein Jahr zurück und umfassten augenscheinlich nicht nur Testdaten.

Leakvent 1: Ferrari Academy

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Es geht los mit der Ferrari Academy. Betroffen waren 2022 nicht besonders viele Menschen. Dafür gab es .git und .env mit Zugangsdaten, eine exponierte dev-Umgebung sowie directory listings und herunterladbare Backups von php-Dateien.

  1. Unter https://academy.ferrari.com/ waren directory listings aktiviert. So konnte u.a. unter https://academy.ferrari.com/<redacted>/HubSync/users.csv eine csv-Datei mit personenbezogenen Daten (u.a. Ausweisnummer) gefunden werden.
  2. “Backups” von php-Dateien erlaubten den Zugriff auf Quellcode, bspw. https://academy.ferrari.com/<redacted>/class.ilCompetence.php.backPrimadiAPOS. Im Quellcode sind auch Zugangsdaten zu finden.

$mail->Username = ‘AKIA████████████████’;
$mail->Password = ‘████████████████████’;

#$mail->addCustomHeader(‘X-SES-CONFIGURATION-SET’,’ConfigSet’);
$mail->Host = ’email-smtp.eu-west-1.amazonaws.com’;
$mail->Port = 465;

  1. Unter https://<redacted>/.env lag eine Datei mit Umgebungsvariablen.

APP_NAME=Laravel
APP_ENV=local

DB_CONNECTION=mysql
DB_HOST=█████████
DB_PORT=3306
DB_DATABASE=█████████
DB_USERNAME=█████████
DB_PASSWORD=█████████

DB_HOST2=█████████
DB_DATABASE2=lmsdb_prod
DB_USERNAME2=█████████
DB_PASSWORD2=█████████

ACADEMYURL=“http://dev.academy.ferrari.com”

  1. Unter https://<redacted>/lms-ferrari/.git/ und https://<redacted>/fixitproject/.git/ lagen zwei git-Repositories mit Quellcode, Konfiguration und personenbezogenen Daten.

BKA: Biometrische Marktforschung ohne Rechtsgrundlage

Das BKA hat mehrere Millionen Gesichtsbilder aus INPOL-Z ohne Rechtsgrundlage an Fraunhofer weitergegeben. Dagegen klagt ein Betroffener mit Unterstützung des CCC.

When using the maps, content is loaded from third-party servers. If you agree to this, a cookie will be set and this notice will be hidden. If not, no maps will be displayed.

Düsseldorf testet Radwegüberwachung ‒ ohne Rechtsgrundlage

Obwohl es “bislang keine rechtliche Grundlage für die automatisierte Kontrolle von Parkscheinen oder digitalen Parkberechtigungen” gibt, testet die Stadt Düsseldorf den Einsatz von Kamera-Autos. Diese sollen auf Radwegen abgestellte Fahrzeuge erkennen und ggf. automatisch Bußgeldverfahren einleiten.

Parkraumüberwachung in Heidelberg

Nachdem ein Berliner Pilotprojekt zur Parkraumüberwachung Anfang 2025 wegen mangelnder Rechtsgrundlage beendet wurde, beginnt in Heidelberg am 18.09.2025 der Einsatz von Kamera-Fahrzeugen. Durch Kennzeichenerfassung und Abgleich mit einer zentralen Park-Datenbank sollen Fahrzeuge, die ohne Parkschein abgestellt wurden, erkannt werden.

Zuvor wurde der öffentliche Parkraum kartiert. Während der Pilotphase sollen keine Strafzettel verteilt werden.