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.
Komentarze
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();
:)