Vulnerabilitate critică detectată în WooCommerce pe 13 iulie 2021 - Ce trebuie să știți

Publicat: 2021-07-15

Ultima actualizare: 23 iulie 2021

Pe 13 iulie 2021, o vulnerabilitate critică privind WooCommerce și pluginul pentru funcția WooCommerce Blocks a fost identificată și dezvăluită în mod responsabil de către cercetătorul de securitate Josh, prin programul nostru de securitate HackerOne.

După ce a aflat despre problemă, echipa noastră a efectuat imediat o investigație amănunțită, a auditat toate bazele de cod asociate și a creat un patch pentru a remedia problema pentru fiecare versiune afectată (+ 90 de versiuni), care a fost implementată automat în magazinele vulnerabile.

Am un magazin WooCommerce – ce acțiuni ar trebui să fac?

Actualizările automate de software pentru WooCommerce 5.5.1 au început să fie lansate pe 14 iulie 2021, în toate magazinele care rulează versiuni afectate ale fiecărui plugin, dar vă recomandăm totuși să vă asigurați că utilizați cea mai recentă versiune. Pentru WooCommerce, acesta este 5.5.2 * sau cel mai mare număr posibil din ramura dvs. de lansare. Dacă rulați și WooCommerce Blocks, ar trebui să utilizați versiunea 5.5.1 a acelui plugin.

Important : Odată cu lansarea WooCommerce 5.5.2 pe 23 iulie 2021, procesul de actualizare automată menționat mai sus a fost întrerupt.

După actualizarea la o versiune corectată, vă recomandăm și:

  • Actualizarea parolelor pentru orice utilizator administrator de pe site-ul dvs., mai ales dacă reutiliza aceleași parole pe mai multe site-uri web
  • Rotirea oricăror chei Payment Gateway și WooCommerce API utilizate pe site-ul dvs.

Există mai multe informații despre acești pași mai jos.

* WooCommerce 5.5.2 a fost lansat pe 23 iulie 2021. Corecțiile conținute în această versiune nu au legătură cu vulnerabilitatea de securitate recentă.

Cum știu dacă versiunea mea este actualizată?

Tabelul de mai jos conține lista completă a versiunilor corectate atât pentru WooCommerce, cât și pentru WooCommerce Blocks. Dacă rulați o versiune WooCommerce sau WooCommerce Blocks care nu se află în această listă, vă rugăm să actualizați imediat la cea mai înaltă versiune din ramura dvs. de lansare.

Versiuni WooCommerce corecţionate Versiuni de blocuri WooCommerce patchizate
3.3.6 2.5.16
3.4.8 2.6.2
3.5.9 2.7.2
3.6.6 2.8.1
3.7.2 2.9.1
3.8.2 3.0.1
3.9.4 3.1.1
4.0.2 3.2.1
4.1.2 3.3.1
4.2.3 3.4.1
4.3.4 3.5.1
4.4.2 3.6.1
4.5.3 3.7.2
4.6.3 3.8.1
4.7.2 3.9.1
4.8.1 4.0.1
4.9.3 4.1.1
5.0.1 4.2.1
5.1.1 4.3.1
5.2.3 4.4.3
5.3.1 4.5.3
5.4.2 4.6.1
5.5.1 4.7.1
5.5.2 4.8.1
4.9.2
5.0.1
5.1.1
5.2.1
5.3.2
5.4.1
5.5.1

De ce site-ul meu nu a primit actualizarea automată?

Este posibil ca site-ul dvs. să nu se fi actualizat automat din mai multe motive, unele dintre cele mai probabile sunt: ​​rulați o versiune anterioară celei afectate (sub WooCommerce 3.3), actualizările automate au fost dezactivate în mod explicit pe site-ul dvs., sistemul dvs. de fișiere este numai în citire sau există extensii potențial conflictuale care împiedică actualizarea.

În toate cazurile (cu excepția primului exemplu, în care nu sunteți afectat), ar trebui să încercați să actualizați manual la cea mai nouă versiune corectată din ramura dvs. de lansare (de exemplu, 5.5.2, 5.4.2, 5.3.1 etc.), așa cum este listat în tabelul de mai sus.

Au fost compromise date?

Pe baza dovezilor disponibile actuale, credem că orice exploatare a fost limitată.

Dacă un magazin a fost afectat, informațiile expuse vor fi specifice pentru ceea ce stochează site-ul respectiv, dar ar putea include informații despre comandă, client și administrative.

Cum pot verifica dacă magazinul meu a fost exploatat?

Datorită naturii acestei vulnerabilități și modului extrem de flexibil în care WordPress (și, prin urmare, WooCommerce) permite gestionarea cererilor web, nu există o modalitate definitivă de a confirma un exploit. Este posibil să puteți detecta unele încercări de exploatare examinând jurnalele de acces ale serverului dvs. web (sau obținând ajutor de la gazda dvs. web pentru a face acest lucru). Solicitările în următoarele formate văzute între decembrie 2019 și acum indică probabil o încercare de exploatare:

  • REQUEST_URI care se potrivește cu expresia regulată /\/wp-json\/wc\/store\/products\/collection-data.*%25252.*/
  • REQUEST_URI care se potrivește cu expresia regulată /.*\/wc\/store\/products\/collection-data.*%25252.*/ (rețineți că această expresie nu este eficientă/se rulează lent în majoritatea mediilor de înregistrare)
  • Orice solicitare non-GET (POST sau PUT) către /wp-json/wc/store/products/collection-data sau /?rest_route=/wc/store/products/collection-data

Solicitările pe care le-am văzut exploatând această vulnerabilitate provin de la următoarele adrese IP, peste 98% provenind de la prima din listă. Dacă vedeți oricare dintre aceste adrese IP în jurnalele dvs. de acces, ar trebui să presupuneți că vulnerabilitatea a fost exploatată:

  • 137.116.119.175
  • 162.158.78.41
  • 103.233.135.21

Ce parole trebuie să schimb?

Este puțin probabil ca parola să fi fost compromisă, deoarece este hashing.

Parolele utilizatorilor WordPress sunt hashing folosind săruri, ceea ce înseamnă că valoarea hash rezultată este foarte greu de spart. Această abordare de tip hash sărat vă protejează parola ca utilizator administrator, precum și parolele oricăror altor utilizatori de pe site-ul dvs., inclusiv clienții. Deși este posibil ca versiunea hash a parolei stocate în baza de date să fi fost accesată prin această vulnerabilitate, valoarea hash ar trebui să fie indiscernibilă și să vă protejeze în continuare parolele împotriva utilizării neautorizate.

Aceasta presupune că site-ul dvs. utilizează gestionarea standard a parolelor WordPress pentru utilizatori. În funcție de pluginurile pe care le-ați instalat pe site-ul dvs., este posibil să aveți parole sau alte informații sensibile stocate în moduri mai puțin sigure.

Dacă oricare dintre utilizatorii administratori de pe site-ul dvs. ar fi putut reutiliza aceleași parole pe mai multe site-uri web, vă recomandăm să actualizați acele parole în cazul în care acreditările lor au fost compromise în altă parte.

De asemenea, vă recomandăm să schimbați orice date private sau secrete stocate în baza dvs. de date WordPress/WooCommerce. Acestea pot include chei API, chei publice/private pentru gateway-uri de plată și multe altele, în funcție de configurația magazinului dvs.

În calitate de dezvoltator de extensii sau furnizor de servicii, ar trebui să alertăm comercianții noștri WooCommerce?

Dacă lucrați cu orice magazin sau comerciant WooCommerce live, vă încurajăm să lucrați cu ei pentru a vă asigura că cunosc această problemă și/sau actualizați magazinul la o versiune securizată.

Dacă ați construit o extensie sau oferiți un serviciu SaaS care se bazează pe API-ul WooCommerce, vă încurajăm să ajutați comercianții să resetați cheile pentru a se conecta la serviciul dvs.

În calitate de proprietar de magazin, ar trebui să îmi avertizez clienții?

Dacă vă alertați clienții depinde în cele din urmă de dvs. Obligațiile dvs. de a notifica clienții sau de a reseta lucruri precum parolele vor varia în funcție de detalii precum infrastructura site-ului dvs., locația geografică a dvs. și clienții dvs., ce date colectează site-ul dvs. și dacă site-ul dvs. a fost sau nu compromis.

Cea mai importantă acțiune pe care o puteți lua pentru a vă proteja clienții este să actualizați versiunea dvs. de WooCommerce la o versiune care a fost corectată cu o remediere pentru această vulnerabilitate.

După actualizare, vă recomandăm:

  • Actualizarea parolelor pentru orice utilizator Administrator de pe site-ul dvs., mai ales dacă reutilizați aceleași parole pe mai multe site-uri web
  • Rotirea oricăror chei Payment Gateway și WooCommerce API utilizate pe site-ul dvs.

În calitate de proprietar al magazinului, este în cele din urmă decizia dvs. dacă doriți să luați măsuri de precauție suplimentare, cum ar fi resetarea parolelor clienților dvs. Parolele de utilizator WordPress (și, prin urmare, WooCommerce) sunt hashing folosind săruri, ceea ce înseamnă că valoarea hash rezultată este foarte greu de spart. Această abordare de tip hash sărat se aplică tuturor parolelor utilizatorilor de pe site-ul dvs., inclusiv parolelor clienților dvs.

WooCommerce este încă sigur de utilizat?

Da.

Incidentele de acest fel sunt neobișnuite, dar, din păcate, se întâmplă uneori. Intenția noastră este întotdeauna să răspundem imediat și să operam cu transparență deplină.

De când a aflat despre vulnerabilitate, echipa a lucrat non-stop pentru a se asigura că a fost pusă în aplicare o remediere, iar utilizatorii noștri au fost informați.

Investiția noastră continuă în securitatea platformei ne permite să prevenim marea majoritate a problemelor – dar în cazurile rare care ar putea avea un impact asupra magazinelor, ne străduim să remediam rapid, să comunicăm proactiv și să lucrăm în colaborare cu comunitatea WooCommerce.

Dacă mai am întrebări?

Dacă aveți alte nelămuriri sau întrebări cu privire la această problemă, echipa noastră de ingineri Happiness este disponibilă pentru a vă ajuta – deschideți un bilet de asistență.