Wyciek adresów email użytkowników Let’s Encrypt
Projekt Let’s Encrypt zrewolucjonizował rynek certyfikatów SSL, rozdając je za darmo i wymuszając automatyzację procesu ich odnawiania. Nowe projekty nie są jednak wolne od błędów i nawet najszczytniejsze idee nie gwarantują pełnej ochrony danych użytkowników. W rozsyłanym własnie do uzytkowników emailu z aktualizacją warunków świadczenia usług Let’s Encrypt zawarł… sporą listę odbiorców w treści samej wiadomości. Wyciekło nieco ponad 7 tysięcy z 383 000 adresów którymi dysponuje firma zanim ktoś się zorientował, że w skrypcie jest błąd. Tak wyglądała wiadomość (zwróćcie uwagę na pasek przewijania):
Zarządzający projektem dość szybko się zorientowali i powstrzymali dalszy wyciek oraz wydali komunikat opisujący całą sytuację. Co ciekawe wynika z niego, że każdy z odbiorców otrzymał listę adresów od numeru 1 do swojego numeru, co sugeruje że skrypt wysyłający wklejał do treści wiadomości zamiast adresu odbiorcy komplet adresów które zdążył już wczytać.
Dziękujemy Czytelnikowi pidpawel za podesłanie newsa.
Podobne wpisy
- Jak włamano się do Ubera i dlaczego najwyraźniej nie było to trudne
- Jak złamano hasła ofiar wycieku danych z KSSiP?
- Jak wszystkie polskie media podały dalej fake newsa o włamaniu hakerów do banku
- Jakie dane rosyjski Killnet wykradł z serwera polskiej agencji
- Co ujawnili Anonymous (i inne grupy), czyli historia prawdziwych wycieków ostatnich tygodni
Właśnie dlatego do każdego serwisu podaje się inny mail i robi catch all.
Błyskotliwe… A spam wysyłany na te podane adresy trafi do … ???
W jedno miejsce, czyli filtrom będzie łatwiej ;)
ogłaszam konkurs na pomysł jaki błąd i/lub literówka mogła do tego doprowadzić :D do wygrania nic. Jedyne co sobie wyobrażam to coś takiego (prawie pseudo kod):
users = sql.query(„SELECT email FROM users”)
send_to = „”
for user in users:
send_to += user[’email’]
send_email(send_to, „topic”, „msg”)
+= zamiast =
Zgniłe mutability.
Nie całkiem. Powodem jest bug w Pythonowym module ’email’:
https://twitter.com/0xjosh/status/741487697059946497
Twój kod jest zły :D jedynie pierwsza osoba by dostała maila, każdy kolejny byłbym wysyłany na nieistniejący adres ponieważ przypisujesz adresy mailowej do zmiennej nie dopisując przecinka który oddzielałby adresy mailowe w związku z czym to o czym piszesz musiałoby być zrobione świadomie :)
Jeżeli po stronie serwerowej działa PHP i używają biblioteki PHPmailer to jest prosta przyczyna na którą się łapią początkujący. Mianowicie:
$mail->addAddress($adres_email, 'Imie i nazwisko’);
powyższa linijka dodaje adres email użytkownika
$mail->send()
powyższa wysyła email, jeżeli puścimy to w pętli to będzie taki efekt jak w tym przypadku: Natomiast aby to wrzucić w pętle należy dodać: $mail->ClearAddresses();
:)