Kritičan propust u SAP Cloud SDK-u za Python otkriva OAuth2 tajne

SAP je objavio ranjivost CVE-2026-89111 sa maksimalnom CVSS ocenom 10,0 u paketu Cloud SDK for Python, zvaničnom Python klijentu za usluge SAP Business Technology Platforma. Propust može navesti višezakupničku aplikaciju da njen OAuth2 client ID i client secret pošalje serveru pod kontrolom napadača. SAP kao početnu ispravku navodi verziju 0.45.2, objavljenu 21. avgusta.
Rizik postoji kada aplikacija SDK-u prosleđuje poddomen zakupca, a napadač može da utiče na tu vrednost. SDK zatim traži pristupni token za navedeni zakupac i za to menja deo URL-a za token iz konfiguracije aplikacije. U ranjivim izdanjima prosleđena vrednost korišćena je bez odgovarajuće provere.
Kako dolazi do slanja akreditiva
Pri zahtevu za token SDK šalje klijentske akreditive na URL sastavljen na osnovu poddomena zakupca. Ako poddomen sadrži URL razdelnike, napadač može da preusmeri zahtev na sopstveni endpoint. SAP ovu slabost označava kao SSRF, odnosno situaciju u kojoj server šalje zahtev na nenameravano odredište.
Uvedena provera prihvata samo jedno ime sastavljeno od slova, cifara i crtica, dužine do 63 znaka. Svaka druga vrednost prekida zahtev greškom ValueError, umesto da se tiho iskoristi za formiranje URL-a. Posledice eventualno ukradenih akreditiva zavise od dozvola koje ima klijent aplikacije.
Verzije koje zahtevaju proveru
Izdanja od 0.45.2 do 0.52.2 sadrže proveru. Međutim, u verzijama 0.53.0 do 0.55.0 ona nije primenjena u svim slučajevima pri pozivima modula Destination, nakon prebacivanja modula na zajednički kod za pribavljanje tokena. U verziji 0.55.0 provera je nedostajala i za pozive Document Management Service-a.
Verzija 0.55.1, objavljena 18. septembra, dodala je proveru i u tom zajedničkom kodu. Testovi opisani u članku pokazali su da je šest izdanja od 0.53.0 do 0.55.0 palo na devet od 11 testova, dok su 0.55.1 i narednih 11 izdanja prošli svih 11. Najnovije izdanje na PyPI-ju 13. oktobra bilo je 0.58.4.
Starija grana 0.36 nema ovu zaštitu ni u jednom od tri izdanja, uključujući 0.36.1 i 0.36.2. SAP savetuje organizacijama koje ne mogu odmah da nadograde softver da pre prosleđivanja SDK-u porede svaki poddomen zakupca sa listom registrovanih zakupaca.
Praktičan korak za timove
Timovi treba da utvrde da li njihove aplikacije prosleđuju poddomen zakupca Cloud SDK-u za Python, zatim da provere tačnu verziju i pređu na podržano izdanje sa proverom unosa. Dok je nadogradnja u toku, validacija prema poznatoj listi zakupaca smanjuje izloženost, a pristupne dozvole OAuth2 klijenata treba sagledati kroz mogući uticaj kompromitovanih tajni.

