Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 82 reacties
Submitter: ReTechNL

Onderzoeker Michael Stepankin heeft een kwetsbaarheid gevonden in PayPal. Door gebruik te maken van de kwetsbaarheid was het voor Stepankin mogelijk om systeemcommando's uit te voeren op de PayPal-servers.

Stepankin geeft aan de remote code execution-kwetsbaarheid te hebben gevonden op een van PayPals bedrijfswebsites. De kwetsbaarheid stelde hem in staat om willekeurige shell-commando's uit te voeren op de PayPal-servers dankzij onveilige Java-objectdeserialisatie. Hiermee had hij toegang tot de productiedatabases van PayPal. Hij heeft de kwetsbaarheid aan PayPal gemeld, waarop het bedrijf de kwetsbaarheid heeft opgelost en Stepankin een vergoeding heeft gegeven.

In december 2015 voerde de onderzoeker veiligheidstests uit van de manager.paypal.com-website toen hij erachter kwam dat het mogelijk was om willekeurige besturingscommando's uit te voeren op de PayPal-webservers. Ook kon Stepankin verbinding maken met zijn eigen internetserver, en bijvoorbeeld een backdoor uploaden en gebruiken. Om de kwetsbaarheid aan te tonen kopieerde Stepankin het "/etc/passwd"-bestand naar zijn eigen server. Ook maakte hij een video waarin hij gebruikmaakt van de Java Object Deserialization-kwetsbaarheid.

PayPal geeft aan dat de kwetsbaarheid groter was dan waarop werd geanticipeerd. De oorzaak van de kwetsbaarheid zijn Java-applicaties die verdachte data toch deserialiseren en commons-collections in hun classpath hebben. Mark Litchfield, een van de veiligheidsonderzoekers van PayPal, had de kwetsbaarheid volgens het bedrijf al enkele dagen voordat Stepankin die meldde aangegeven. Volgens Litchfield waren er negen verschillende punten waarbij het probleem voorkwam, maar PayPal claimt dat ze allemaal dezelfde oorsprong hadden en dat het desbetreffende probleem is opgelost.

Moderatie-faq Wijzig weergave

Reacties (82)

Om de kwetsbaarheid aan te tonen verplaatste Stepankin het "/etc/passwd"-bestand naar zijn eigen server.
Ondanks wat de naam suggereert bevat '/etc/passwd' geen wachtwoorden! De wachtwoorden staan in een andere file, dat is een "oplossing" uit het verleden.

Dat /etc/passwd uitgelezen kan worden is erg genoeg maar dat kan met iedere "gewone" gebruikersaccount op het syteem, je hebt er geen systeembeheerdersrechten voor nodig. Overigens is het daarmee nog geen onschuldige hack. Met een gewone gebruiker kun je bijna net zo veel.

Ik zeg het omdat '/etc/passwd' voor buitenstaanders waarschijnlijk wel impliceert dat er systeembeheerdersrechten zijn verkregen.
Maar als hij het echter verplaatst heeft, en ik herhaal het nog eens : verplaatst heeft.
Dan heeft hij wel sysadmin rechten nodig, lezen is 1 ding , verwijderen een 2e.
In het filmpje is te zien dat hij de server met curl een POST laat doen van dat bestand naar zijn eigen server. Hij maakt dus een kopie over internet; er wordt niets verplaatst.
Dat /etc/passwd uitgelezen kan worden is erg genoeg maar dat kan met iedere "gewone" gebruikersaccount op het syteem,
Het is alleen wel een punt dat je dat als gebruiker van een website (dus geen gewone gebruiker met een gebruikersaccount op het systeem/OS) simpelweg niet zou moeten kunnen.
Anders gezegd, dit lijkt erg op een case waarbij de software beheerders geen goed zicht hadden op het gebruik van dergelijke libraries. Deze security vulnerability was namelijk al eerder public gemaakt, zijnde dat Apache Commons Collections een risco liep op dergelijk attacks:

Apache Commons statement to widespread Java object de-serialisation vulnerability (Tuesday Nov 10, 2015)
Apache Commons Collections Java library insecurely deserializes data

[Reactie gewijzigd door Ravefiend op 26 januari 2016 15:43]

Of ze hadden er wel zicht op maar hadden wat tijd nodig om het op te lossen. Een bedrijf als Paypal heeft honderden applicaties lopen, en in het geval van Paypal kunnen ze wel 15 jaar oud zijn; die heb je niet zomaar vervangen.
Mooi, blij te horen dat PayPal hier open over communiceert in plaats van het onder de mat te vegen. :)
Wat helaas wat minder openlijk/bekend is, is dat PayPal je gegevens verkoopt aan derden: je IP-adres voor tracking, je naam, email, adres, telefoonnummer, bankrekening, alle transacties (waarin beschreven staat wat en waar je iets hebt gekocht).

Koop je een domeinnaam via registrar en laat je dat via Paypal verlopen, en plaats je whois privacy protection op het domein, dan kunnen derden dus alsnog die whois privacy protection praktisch gezien ongedaan maken.

Er zijn bijv. Nederlandse PayPal gebruikers die een geheim nummer hadden, telefonisch benaderd voor marketing doeleinden, dankzij Paypal.

Geef je om privacy, gebruik dan geen PayPal.
Terechte opmerkingen, waar ik eerder nog niet zo bij stil stond. De vraag is dan natuurlijk, bestaat er wel een privacy-vriendelijk alternatief? Heb daar laatst eens kort op gezocht, maar was redelijk kansloos.

Verder in meer algemene zin, de normale bank doet dit ook. Bestaat er al een privacy-vriendelijke bank??
Verder in meer algemene zin, de normale bank doet dit ook. Bestaat er al een privacy-vriendelijke bank??
Dat is een misverstand, banken mogen deze gegevens zeer zeker niet (door)verkopen. Ze willen het wel, maar het proefballonnetje van ING destijds kwam hard bij ze terug.
Hetzelfde geldt overigens voor telco's, ook zij willen maar al te graag monetizen op dergelijke metadata, maar dat mag niet van de Telecomwet.
Voor nu zitten we dus nog wel safe, maar met over-the-top aanbieders als Paypal, Android Pay enz is het nog maar afwachten. Zie bijvoorbeeld Uber en hoeveel data zij uit simpele taxiritjes weet te extraheren.
Dat is een misverstand, banken mogen deze gegevens zeer zeker niet (door)verkopen. Ze willen het wel, maar het proefballonnetje van ING destijds kwam hard bij ze terug.
Weet je zeker dat ze dat niet mogen? Als dat echt zo zou zijn dan zou PayPal de wet overtreden aangezien paypal een bank vergunning heeft en dus "gewoon" een bank is.
mocht je nog twijfelen:
14m20s http://www.npo.nl/zembla/02-12-2015/VARA_101375750
" een lijst van 53 pagina's met bedrijven die inzage hebben in onze betaalgegevens"

[Reactie gewijzigd door kabal op 26 januari 2016 23:04]

De vraag is dan natuurlijk, bestaat er wel een privacy-vriendelijk alternatief?
Bitcoin.
En 't lijkt me ook stug dat Triodos of ASN je gegevens doorverkopen. (In de rechtsere banken heb ik minder vertrouwen.)

[Reactie gewijzigd door kimborntobewild op 26 januari 2016 16:01]

Ik denk dat itsyaboy een alternatief voor PayPal zoekt, met het zelfde gemakzucht en die ook op veel plekken te gebruiken is.
Bitcoin heb ik nog niet gebruikt, weet er ook te weinig van moet ik zeggen.

Ik heb begrepen dat de payment markt van europa enorm aan het veranderen is en dat je in de toekomst zonder intermediary payment service provider moet kunnen betalen, dus mogelijk wordt het in de toekomst makkelijker
Met het feti dat bitcoin op springen staat, en dat je maar op heeel erg weinig plekken met bitcoin kunt betalen, is bitcoin geen alternatief voor paypal..
dat je maar op heeel erg weinig plekken met bitcoin kunt betalen
Noem eens iets wat je niet met bitcoin kunt aanschaffen?
Dan check ik even of dat klopt ;).
Dat er veel minder winkels zijn waar je 't kan gebruiken: da's een feit.
probeer maar eens bij de appieheijn te betalen met bitcoins, of een kruitvat, een mediamarkt, hell ik denk dat er zelfs helemaal geen winkels in een winkelcentrum zijn waar je kunt betalen met bitcoins, zelfde is met doorsnee webshops..
Is dat wel helemaal correct? Ik lees bijvoorbeeld in hun Privacy Policy: "We do not sell or rent your personal information to third parties for their marketing purposes without your explicit consent. We may combine your personal information with information we collect from other companies and use it to improve and personalize PayPal Services, content, and advertising."

Maar daarentegen staat tegen het einde van de Pricacy Policy weer dit: "If you open a PayPal account directly on a third party website or via a third party application, any information that you enter on that website or application (and not directly on a PayPal website) will be shared with the owner of the third party website or application. These sites are governed by their own privacy policies and you are encouraged to review their privacy policies before providing them with personal information. PayPal is not responsible for the content or information practices of such third parties."

Dus ja, lekker grijs gebied weer, maar dat Paypal zeer veel privacy gevoelige data verzamelt staat wel vast!

[Reactie gewijzigd door ToFast op 26 januari 2016 16:24]

"without your explicit consent"
Het zal me niets verbazen als haast elke gebruiker onbewust ooit al ergens toestemming heeft gegeven.
Maar ze verkopen het dus inderdaad niet zomaar door, heb je laten zien.
Daarvoor hebben ze die heerlijke 20 pagina's "terms and conditions" die je moet goedkeuren. Misschien heb je daar al expliciet toestemming gegeven.
Geen idee of het zo is, maar er wordt al eens wat in die eindeloze teksten gesmokkeld.
"We do not sell or rent your personal information to third parties for their marketing purposes without your explicit consent."
Waarom staat daar "for their marketing purposes"? Dat is een stevige beperking. Voor andere toepassingen hoeven ze dus niet om "explicit consent" te vragen. Ik zeg niet dat ze dat doen, weet ik veel, maar ze laten de deur in ieder geval wel open staan.
Dat de verkoper die gegevens krijgt snap ik, maar op welke manier kan een derde deze gegevens bij PayPal kopen?
Er is een lijst van bedrijven die daar toestemming voor heeft bij PayPal:
https://www.paypalobjects...ist_as_of_july_1_2015.pdf

Maar alleen indien je daar als gebruiker toestemming voor hebt gegeven. (Maar dat is iets wat velen niet meer zullen weten of ze die ooit gegeven hebben.)

edit:
Wat overigens ook kan voorkomen, is dat de gegevens simpelweg gestolen worden (iets dat in deze data wereld vaak voorkomt), en vervolgens in het data broker circuit belanden.

[Reactie gewijzigd door Cyb op 26 januari 2016 18:32]

ik hen domains via gandi die ik betaal via Paypal. Paypal heeft alleen een gandi invoice nummer, er staat niks in over welke domains het gaat. Dus hoe kan mijn private Whois info dan bekend worden bij Paypal en derden? Of welke domeinen ik überhaupt bezit.
Dat hangt inderdaad ook af van in hoeverre de verkoper Paypal heeft geintegreerd. Neem bijvoorbeeld de registrar Namecheap, welke tot de grootste registrars wereldwijd behoort. Bij (en ook na) het betalen van een Namecheap order via Paypal, is de complete winkelwagen ("Shopping Cart Contents") zichtbaar in de transactie details op de Paypal website.
(Een workaround is je Namecheap account laden met een saldo via Paypal, zodat Namecheap bestellingen direct van het Namecheap saldo afgaan i.p.v. via Paypal.)
Dat staat toch in de voorwaarden waar je mee akkoord bent gegaan? Of heb je die niet gelezen? ;)
Ik heb dit ook bij Zembla gezien, maar toen ik de genoemde lijst met bedrijven aan wie ze gegevens doorgeven opzocht kwam ik ook de privacy policy tegen, waarin staat:

"Het doel van deze openbaarmaking is om het voor ons mogelijk te maken de PayPal-services aan u te leveren. "

"In de lijst van derde partijen"... "aan wie we op dit moment uw rekeninggegevens al openbaar maken"...", samen met het doel van die openbaarmaking, en de precieze gegevens die we openbaar maken (voor zover niet uitdrukkelijk anders vermeld, kunnen deze derden wettelijk of contractueel de gegevens niet voor andere doeleinden gebruiken dan voor de doeleinden waarvoor deze gegevens worden uitgewisseld)."

"De noodzakelijke rekeninggegevens te delen"..." zodat ze ze voor de volgende doeleinden kunnen gebruiken:"
"Fraudepreventie en risicobeheer"
"Klantenservice"
"Verzending"
"Wettelijke naleving"
"Serviceproviders:" ... "zoals fraudepreventie, het innen van facturen, marketing, klantenservice en technologieservices"

De betreffende lijst met derden: https://www.paypalobjects...ist_as_of_july_1_2015.pdf

Zoals je ziet is per derde aangegeven welke gegevens ze delen en waarom. Dit gaat om gegevens die andere grote bedrijven ook gewoon delen met derden, bijvoorbeeld om klantenservice af te handelen of om je iets te kunnen verzenden. Dat lijken me hele plausibele redenen om die gegevens te delen. Als voorbeeld: Veel telecomproviders laten modems bijvoorbeeld sturen door een ander bedrijf (derde dus), daarvoor moeten ze toch echt jouw gegevens doorgeven. Wist je dat? Vind je dat erg?

Ik vond de uitzendingen van Zembla over dit onderwerp heel goed en ook belangrijk voor bewustwording (ik ken niet veel mensen die net als mij Ghostery draaien) maar het lijkt me dus dat dit onderdeel van het Zembla tweeluik toch wat kort door de bocht was.
Link privacy policy: https://www.paypal.com/nl...acy-full?locale.x=nl_NL#6
En dat ze voor zulke lekken ook betalen. Zo krijg je onderzoekers en hacker naar je hand
Java, het blijft een security-nachtmerrie. Maar inderdaad wel fris dat er open over gecommuniceerd wordt.
Er zijn zo veel honderden applicaties die gebruik maken van Java, en die zijn zo complex dat je ze niet 1-2-3 kunt vervangen. Vaak zit daar vele jaren werk in, dat telkens een stukje word verbeterd. Grote applicaties werken om die reden nog steeds met Java, en dat zal niet zo snel veranderen, en dat is ook gewoon geen mogelijkheid.

[Reactie gewijzigd door Johan9711 op 26 januari 2016 15:26]

Als je honderden Java-applicaties gebruikt (server-side) om iets zo basaals te doen als betaling via internet, dan doe je iets verkeerd...
Ik doelde uiteraard op Java in het algemeen, het word nog heel breed gebruikt, ook door grote techbedrijven.
Je hoeft ook niet héél Java vervangen; Paypal moet alleen die Java-programma's vervangen die niet veilig zijn c.q. waarvan de code niet is doorgelicht.
Het is inderdaad een security-nachtmerrie dat er code geschreven wordt waarin ernstige beveiligingslekken voorkomen. Maar dat kan ook prima in andere talen dan Java.
Het voordeel van java is dat iedereen dat simple kan ;)
Je hebt weinig kennis nodig en dat is de oorzaak van veel ellende. Lage drempels hebben als nadeel dat een overstroming snel toe kan slaan.
Taaltjes als php, ruby of python zijn nog veel simpeler. Hoeveel lekken in php applicaties duiken er wel niet iedere dag op? Ik vind de onveiligheid van java sterk overdreven. De browserplugin moet inderdaad wel overal verdwijnen, maar de programmeertaal op zichzelf is niets onveiliger dan anderen. De zwakste schakel is degene achter het keyboard. Er zijn genoeg programmeurs zonder kennis van security die maar wat aanklooien.

Er duiken ook vaak genoeg vulnerabilities op in C/C++ programma's op manieren die in java niet mogelijk zijn (zoals buffer overflows omdat je zelf je eigen geheugen moet beheren). Wat dat betreft beschermt de taal je al voor sommige fouten en zou het er juist veiliger op moeten worden.
En door welke non security nachtmerrie platform zou je dit dan willen vervangen? Besef wel even dat dit helemaal niks met een browser plugin te maken heeft.
Ik ben wel benieuwd wat jij vindt dat er mis is met Java gebruiken op enterprise servers. Heb jij voorbeelden van omgevingen die het beter doen?

[Reactie gewijzigd door Maurits van Baerle op 26 januari 2016 17:27]

Ooit een backend (of überhaupt een niet-triviale app) erin geschreven?
"Hij heeft de kwetsbaarheid aan PayPal gemeld, waarop het bedrijf de kwetsbaarheid heeft opgelost en Stepankin een vergoeding heeft gegeven."

Nais :) Zo kan het dus ook.
Je leest vaak genoeg dat zo iemand dan voor de rechter gesleept wordt voor hacken. Of is dat alleen in NL?
Oh, wow. Dat is wel een héél serieus lek. Voor hetzelfde geld had deze vriendelijke onderzoeker wat extra geld bijgemaakt in zijn account, en helemaal niemand ingelicht. Gelukkig zijn er nog goede mensen op deze aarde :)
Voor het melden bij paypal heeft hij toch wel even:

update users
set saldo '1000000'
where email = 'Michael.Stepankin@gmail.com'
:+
Of gewoon:

update users
set saldo '1000000';

Some people just want to watch the world burn :)
Dat valt op en dan wordt er gewoon een databasebackup terug gezet. Die burn duurt misschien een half uurtje. Plus dat ze het terug traceren naar jou en dan krijg je ipv een vergoeding een rechtszaak aan je broek.

En ja, ik snap dat je het grappig bedoeld heb maar iets dat zó onrealistisch is komt niet grappig over 8)7
Ja valt dat op? En dat is te traceren?

Thx man! Ik ben verlicht! _/-\o_

Ik ga gelijk aan mijn grappen werken.
Ik mag toch hopen dat dat mis gegaan is omdat het saldo een float zal zijn en die string daar niet in gaat passen... :+
Ik mag hopen dat saldo's/geld niet het type float hebben. Dat zou niet best zijn.
Nog steeds beter dan eens string toch ;-)

[Reactie gewijzigd door Delgul op 26 januari 2016 22:33]

Afhankelijk van de database kan zoiets prima werken. Als je in mysql zo'n string in een integer veld probeert te stoppen wordt ie netjes als integer opgeslagen.
Altijd leuk om te zien dat mensen kiezen voor dergelijke getallen (1 en 0 dus).
Ik zou altijd kiezen voor de 9 :Y)

Offtopic, I know. Maar vindt het een leuk psychologisch ding 8)7
Als het een genormaliseerde database is, mag je toch veronderstellen dat je de "account" table zal moeten updaten en een join doen met de user tabel. ;)
Er is sowieso wel wat mis als je toegang krijgt tot serialisatie / deserialisatie, zelfs via een administratie netwerk. Ik verwacht normaal gesproken wel toegang tot serialisatie voor debug-doeleinden, maar niet voor algemene administratie doeleinden. Dan verwacht je eigenlijk niet meer dan een web-interface waarbij alles van en naar Strings wordt omgezet. (De-)serialisatie heb je alleen nodig voor complexere objecten.
de grootste kwetsbaarheid, "koper doet alsof hij het pakje niet heeft ontvangen", is ook nog niet gefixed.
Ik gebruikte PayPal voor het verkopen van virtuele goods,
20% Chargeback. Sta zelf financieel stabiel paypal blokkeert mijn account reden : Finacieel risico.

Dit houd in dat de 15k+ Die op mijn account staat vast blijft en in handen van PayPal voor 180 dagen

Ik raad het gebruik van PayPal af omdat deze blokkade zomaar zonder enige informatie afgegeven is. Bellen is hopeloos ( dit gebeurde omstreken 18nov ) ik wacht nog steeds op een telefoontje.

[Reactie gewijzigd door Legan op 26 januari 2016 19:35]

ongelovelijk.
ik had een akkoord met een klant die vroeg om versturing in envelop en hij accepteerde eigen risico zending. dus als het niet aankomt, pech.
wat doet die turk, woonde in turkije, binnen 10 dagen maakte hij een claim bij paypal dat het niet was aangekomen.
ik toonde emails als bewijs dat eigen risico zending geaccepteerd werd.
paypals antwoord: geen bewijs van verzending en gaf het geld terug aan de turk.
paypal verdient gruwelijk aan mij en dan vlikken ze me dit.
Ik gebruik PayPal voor 3 kwart van mijn online transacties en een kwart met iDEAL. Ben erg tevreden over PayPal en de gratis telefonische support. Als je privacy zo belangrijk is kun je beter helemaal van internet wegblijven denk ik.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True