Šta se desilo?

Otkrivena je ozbiljna ranjivost u Elixir biblioteci ex_aws_sns koja omogućava napadaču da falsifikuje poruke iz Amazon SNS servisa. Problem leži u funkciji verify_message/1 koja ne vrši adekvatnu validaciju SigningCertURL polja pri prihvatanju SNS poruka, što omogućava potpuno zaobilaženje sigurnosnih mehanizama.

Koga pogađa?

Pogođeni su razvojni timovi i aplikacije koje koriste ex_aws_sns biblioteku verzije 2.0.1 do 2.3.4. Posebno su u riziku sistemi koji oslanjaju na SNS poruke za kritične operacije - obrada plaćanja, autentifikacija, autorizacija ili bilo koja druga funkcionalnost koja zavisi od verifikacije identiteta pošiljaoca.

Kako se zaštititi?

  • Ažurirajte ex_aws_sns biblioteku na verziju 2.3.5 ili noviju - ovo je jedina trajnja zaštita
  • Ako trenutno ne možete ažurirati, implementirajte dodatnu validaciju signatura na nivou aplikacije
  • Pregledate sve endpointe koji pozivaju verify_message/1 i ograničite pristup samo poznatim izvorima
  • Aktivirajte detaljno logovanje SNS poruka kako biste identifikovali sumnjive zahteve
  • Razmotrите alternativne kanale potvrde za kritične operacije dok čekate patch

Tehnički detalji

Ranjivost se nalazi u datotekama lib/ex_aws/sns.ex i lib/ex_aws/sns/public_key_cache.ex. Napadač bez autentifikacije može slati forgirane SNS poruke sa sopstvenim SigningCertURL parameterom. Funkcija verify_message/1 neće proveriti da li URL koristi HTTPS ili da li domen pripada AWS infrastrukturi, što omogućava napadaču da postavi vlastiti sertifikat i potpiše falsifikovanu poruku koju će sistem prihvatiti kao legitimnu.

Preporuka Sajber Radara

Ovo je hitna situacija - kompanijama sa Elixir aplikacijama zavisnih od SNS prenosimo preporuku da odmah provere verzije korišćenih biblioteka i izvedu ažuriranje. Ne čekajte da napadač iskoristi ovu ranjivost.