Dacă ați primit un e-mail de la mine care vă trimite la această pagină, este pentru că site-ul dumneavoastră pare să ruleze o versiune a SMS Alert (pluginul WordPress listat ca “SMS Alert – SMS & OTP for WooCommerce, Order Notifications & Abandoned Cart Recovery”, de Cozy Vision Technologies, care se află în fișierele dumneavoastră la /wp-content/plugins/sms-alert/) care se încadrează în intervalul afectat de o problemă de securitate cunoscută. Această pagină explică care este problema, cum să stabiliți dacă se aplică deloc site-ului dumneavoastră și cum să actualizați. Este vorba, pe tot parcursul acestei pagini, despre un plugin WordPress.

Înainte de orice altceva, cel mai important aspect al acestei notificări: o versiune din intervalul afectat nu înseamnă prin ea însăși că site-ul dumneavoastră este expus. Problema de mai jos intervine doar acolo unde ambele condiții de mai jos sunt adevărate, iar niciuna dintre ele nu este vizibilă din exteriorul site-ului dumneavoastră:

  1. Site-ul dumneavoastră are verificarea OTP activată pentru resetările de parolă în setările SMS Alert, și
  2. contul vizat are un număr de telefon înregistrat.

Dacă utilizați SMS Alert doar pentru notificări de comandă, mesaje privind coșurile abandonate sau OTP la finalizarea comenzii ori la înregistrare, și nu pentru verificarea resetărilor de parolă, atunci este foarte probabil ca această problemă să nu ajungă la site-ul dumneavoastră, chiar și pe o versiune afectată. Pot citi versiunea pluginului dumneavoastră dintr-un fișier public, dar nu vă pot vedea setările, astfel încât această notificare este o avertizare preventivă, nu o constatare confirmată privind site-ul dumneavoastră.

Problema este CVE-2026-11387, o preluare de cont neautentificată prin fluxul de resetare a parolei al pluginului (CWE-640, recuperare slabă a parolei). Afectează versiunile 3.0.0 până la 3.9.5 și este remediată în 3.9.6. Dacă rulați o versiune afectată, actualizați SMS Alert la 3.9.6 sau o versiune ulterioară. Versiunile 3.9.7 și 3.9.8 au apărut ulterior și remediază alte probleme; ambele sunt în regulă în ceea ce privește această problemă, iar 3.9.8 este versiunea curentă. Are un scor CVSS de 9.8, iar codul demonstrativ este public, motiv pentru care scriu chiar dacă întrebarea privind configurația de mai sus s-ar putea să vă fie favorabilă.

Un cuvânt privind urgența, deoarece aceasta este o notificare condiționată. Dacă nu utilizați SMS Alert pentru verificarea resetărilor de parolă, actualizarea este o întreținere obișnuită a pluginului. Dacă o utilizați, vă rugăm să tratați actualizarea ca pe o prioritate: în acea configurație, defectul ar putea permite unui vizitator la distanță, fără niciun cont, să seteze o parolă nouă pentru orice utilizator care are un număr de telefon înregistrat, inclusiv un administrator, ceea ce ar preda controlul site-ului.

Aceasta este o problemă a pluginului, nu a nucleului WordPress sau WooCommerce. Un WordPress complet actualizat nu vă protejează dacă pluginul SMS Alert însuși este pe o versiune afectată.

Este legitim acest mesaj?

Da. Aceasta este o notificare de divulgare responsabilă, făcută cu bună-credință, de către un cercetător independent în securitate. Nu vă rog să îmi dați bani, parole sau acces la site-ul dumneavoastră, și nu am încercat să pătrund în el, să trimit ceva către el sau să exploatez ceva.

Tot ce am făcut a fost să mă uit la fișierele vizibile public pe care site-ul dumneavoastră le servește fiecărui vizitator (același mod în care pagina dumneavoastră de start este publică) și să notez numărul de versiune pe care pluginul îl publică în fișierul său public readme.txt. În mod specific, nu am atins fluxul de resetare a parolei, și nimic din această verificare nu atinge datele dumneavoastră, zona de administrare sau orice parte privată a site-ului dumneavoastră (mai multe detalii la secțiunea Ce am făcut și ce nu am făcut de mai jos).

Dacă doriți să verificați cine sunt, consultați detaliile de contact de la sfârșitul acestei pagini și pagina Despre.

De ce contează

SMS Alert trimite notificări SMS și WhatsApp pentru magazinele WooCommerce și poate, de asemenea, să plaseze un cod de unică folosință înaintea anumitor acțiuni ale utilizatorului. Unul dintre fluxurile pe care le poate proteja astfel este resetarea de tipul „ați uitat parola?”: vizitatorul solicită o resetare, pluginul trimite prin SMS un cod de unică folosință la numărul de telefon asociat contului, iar noua parolă ar trebui să fie setată doar după ce acel cod a fost introdus corect.

În versiunile afectate, etapa care setează noua parolă nu verifica dacă acel cod de unică folosință fusese efectiv completat. Resetarea putea fi astfel dusă până la capăt fără ca acel cod să fie introdus vreodată, de către cineva care nu este autentificat și nu are cont propriu. Versiunea 3.9.6 adaugă verificarea lipsă, astfel încât etapa de setare a parolei refuză acum să ruleze decât dacă provocarea prin cod a fost trecută mai întâi.

Două lucruri determină cât de mult contează acest lucru pentru un anumit site. Primul: punctul de acces este acea configurație specifică. Pluginul își rulează propriul flux de resetare doar acolo unde un administrator a activat verificarea OTP pentru resetările de parolă, iar el are un cod de trimis doar pentru un cont care are un număr de telefon înregistrat. Un site care nu a activat niciodată această funcție nu este, foarte probabil, deloc expus, chiar și pe o versiune afectată. Al doilea: acolo unde configurația este activată, impactul este serios, nu marginal, deoarece nimic nu îl limitează la conturile cu privilegii reduse: orice cont cu un număr de telefon înregistrat poate fi vizat, inclusiv administratorii.

Dacă e-mailul meu a citat această problemă, înseamnă că versiunea pe care o raportează site-ul dumneavoastră se încadrează în intervalul afectat. Nu am testat dacă site-ul dumneavoastră particular este exploatabil, și nu pot vedea cum sunt configurate setările dumneavoastră OTP; tot ce am observat este că site-ul raportează o versiune afectată.

Sunt afectat?

Două întrebări decid acest lucru, în această ordine.

Primul: folosiți SMS Alert pentru a verifica resetările de parolă? Aceasta este întrebarea decisivă, și doar dumneavoastră puteți răspunde la ea. Verificarea propriilor setări este în întregime sigură și este întregul scop al acestei pagini.

  • În zona de administrare WordPress, deschideți meniul SMS Alert și mergeți la setările sale, apoi la secțiunea care controlează verificarea OTP. Acea secțiune listează fluxurile în fața cărora puteți plasa un cod de unică folosință. Verificați dacă resetarea parolei (afișată uneori ca „ați uitat parola” sau „lost password”) se numără printre cele activate.
  • Dacă nu este activată, această problemă foarte probabil nu ajunge la site-ul dumneavoastră, chiar și pe o versiune afectată. Actualizarea este totuși recomandată, ca întreținere obișnuită.
  • Dacă este activată, problema se aplică dumneavoastră, și ar trebui să actualizați cât mai curând.

Vă rugăm să nu încercați să reproduceți problema pe propriul site sau pe al cuiva, iar acest lucru nu este necesar pentru a răspunde la întrebarea de mai sus: citirea setărilor dumneavoastră vă spune tot ce aveți nevoie să știți.

Al doilea: ce versiune rulați? Nu trebuie să mă credeți pe cuvânt, dar pentru acest plugin unul dintre modurile evidente de verificare este înșelător, așa că merită să citiți această parte cu atenție.

Din zona de administrare WordPress (sursa de referință):

  1. Conectați-vă la tabloul de bord WordPress (de obicei la yourdomain.com/wp-admin).
  2. Mergeți la Pluginuri apoi Pluginuri instalate.
  3. Găsiți intrarea listată ca “SMS Alert – SMS & OTP for WooCommerce …“ (al cărei folder este sms-alert) și notați versiunea afișată sub numele său. Aceasta este versiunea reală instalată.

Din manifestul public (nu este necesară conectarea): deschideți yourdomain.com/wp-content/plugins/sms-alert/readme.txt într-un browser. Linia Stable tag: de lângă început este versiunea pe care instalarea dumneavoastră o raportează, și acesta este același fișier public pe care l-am citit.

Un lucru în care să nu aveți încredere: numărul ?ver= atașat scripturilor și foilor de stil front-end ale pluginului în sursa paginii dumneavoastră. SMS Alert marchează acele resurse dintr-o constantă internă care a rămas în urmă față de lansarea reală cel puțin o dată: versiunea 3.5.0 a fost livrată cu resursele sale marcate 3.4.9. Citirea versiunii în acest fel vă poate așadar arăta o lansare mai veche decât cea pe care o rulați de fapt, ceea ce, la limită, ar transforma o instalare 3.9.6 remediată într-o aparentă 3.9.5. Exact de aceea nu am folosit-o pentru a decide pe cine să contactez, și de aceea ar trebui să vă judecați versiunea din ecranul de administrare sau din linia readme.txt în schimb.

Apoi aplicați această regulă, reținând că versiunile se compară numeric, nu alfabetic, astfel încât 3.9.10 ar fi mai nouă decât 3.9.9:

  • 3.0.0 până la 3.9.5: potențial afectată (supusă întrebării privind configurația OTP de mai sus), actualizați acum.
  • 3.9.6 sau mai nouă: deja remediată. Aceasta include 3.9.7 și 3.9.8, care sunt lansări ulterioare ce remediază probleme fără legătură; versiunea curentă este 3.9.8.
  • Mai veche de 3.0.0: în afara a ceea ce sunt dispus să afirm. Cea mai veche lansare pe care producătorul o mai publică este 3.0.0, astfel încât nu am nicio modalitate de a examina ceva sub aceasta, iar eu prefer să nu spun nimic decât să acuz o versiune pe care nu o pot verifica. În practică, acest caz este ipotetic: cea mai veche instalare pe care am văzut-o vreodată este o lansare din seria 3.4.x.

Cum se actualizează

Calea cea mai sigură este să actualizați chiar prin WordPress și să faceți mai întâi o copie de rezervă:

  1. Faceți o copie de rezervă a site-ului dumneavoastră (fișiere și bază de date) înainte de a face modificări. Majoritatea furnizorilor de găzduire oferă copii de rezervă cu un singur clic, sau puteți utiliza un plugin de backup pentru WordPress.
  2. În panoul de administrare WordPress, mergeți la Panou de control apoi la Actualizări, sau la Pluginuri apoi Pluginuri instalate. Dacă este listată o actualizare pentru SMS Alert, instalați-o de aici.
  3. Dacă preferați linia de comandă, WP-CLI face același lucru: wp plugin update sms-alert (comanda utilizează numele folderului, sms-alert).
  4. Dacă nu apare nicio actualizare, puteți obține cea mai recentă lansare direct de pe pagina pluginului din directorul WordPress.org, SMS Alert, și puteți actualiza accesând Pluginuri apoi Adaugă plugin nou apoi Încarcă plugin.
  5. După actualizare, confirmați noul număr de versiune (3.9.6 sau o versiune ulterioară) folosind pașii de mai sus, și verificați dacă notificările dumneavoastră de comandă și orice fluxuri OTP pe care le utilizați funcționează în continuare normal.

Cât timp sunteți acolo, merită să confirmați că nucleul WordPress, WooCommerce și celelalte pluginuri ale dumneavoastră sunt actualizate, deoarece același principiu se aplică tuturor acestora.

După actualizare

Actualizarea la versiunea 3.9.6 sau o versiune ulterioară închide problema, iar pentru majoritatea site-urilor aceasta este singura sarcină necesară. Această pagină este o notificare preventivă, nu un raport de incident: nu am nicio vizibilitate asupra faptului dacă s-a întâmplat ceva pe site-ul dumneavoastră, și nu am verificat.

Un pas de urmărire merită luat în considerare, și este condiționat de aceeași întrebare privind configurația. Dacă site-ul dumneavoastră a avut verificarea OTP pentru resetările de parolă activată în timp ce rula o versiune afectată, atunci a fost cel puțin teoretic posibil ca cineva să fi setat o parolă nouă pentru un cont cu un număr de telefon înregistrat. Actualizarea închide breșa, dar nu anulează accesul care a fost deja obținut, așa că în acel caz sunt indicate două măsuri de precauție obișnuite:

  • Revizuiți conturile dumneavoastră de administrator, și orice alte conturi care contează, pentru intrări pe care nu le recunoașteți sau schimbări de rol pe care nu le-ați făcut.
  • Verificați schimbările recente de parolă și autentificările recente pentru conturile care au un număr de telefon înregistrat, și resetați orice parolă care pare să se fi schimbat fără ca titularul contului să fi cerut acest lucru.

Dacă găsiți ceva care vă îngrijorează, tratarea situației ca orice alt caz suspectat de acces neautorizat este răspunsul corect: schimbați parolele de administrator și luați în considerare regenerarea cheilor secrete și a sărurilor din wp-config.php, ceea ce deconectează orice sesiune existentă. Dacă site-ul dumneavoastră nu a avut niciodată OTP pentru resetarea parolei activat, actualizarea singură este suficientă.

Ce am făcut și ce nu am făcut

Pentru a fi complet transparent în legătură cu verificarea din spatele e-mailului meu: am citit doar două fișiere publice pe care site-ul dumneavoastră le servește deja fiecărui vizitator, anume fișierul public readme.txt al pluginului și pagina dumneavoastră de start. Nu am accesat zona de administrare WordPress, baza de date sau nicio parte privată a site-ului. În mod special, nu am atins fluxul de resetare a parolei, nu am trimis nimic către site-ul dumneavoastră, și nu am testat sau exploatat nimic.

De asemenea, nu public în mod deliberat detaliile care ar ajuta pe cineva să acționeze în legătură cu această problemă: pagina de mai sus descrie defectul la nivelul de care are nevoie un proprietar de site și nu mai mult, și nu fac trimitere către codul demonstrativ public.

Aceasta este o observație bazată pe versiune: site-ul dumneavoastră raportează o versiune din intervalul afectat. Deoarece această problemă depinde de configurație, un site din acel interval poate să nu fie deloc expus (dacă nu utilizează verificarea OTP pentru resetările de parolă), și poate fi de asemenea deja protejat prin alte mijloace, cum ar fi un firewall de aplicații web. Această notificare nu este o afirmație că site-ul dumneavoastră era exploatabil la momentul verificării mele.

Nu am webmaster / m-am blocat

Dacă nu sunteți persoana care întreține site-ul, vă rugăm să transmiteți această pagină persoanei care o face (dezvoltatorul dumneavoastră web, agenția sau furnizorul de găzduire). Va recunoaște rapid pașii de mai sus.

Dacă întrețineți site-ul dumneavoastră și rămâneți blocat, sunt bucuros să vă ajut indicând direcția corectă, fără costuri. Contactați-mă folosind detaliile de contact de mai jos.

Contact

Evan Harris, cercetător în securitate

Vă contactez în legătură cu astfel de probleme pur și simplu pentru a ajuta operatorii să își securizeze site-urile. Dacă preferați să nu mai fiți contactat din nou, spuneți-mi și voi respecta această dorință.

Referințe

Anunțuri oficiale și urmărire

Producător / plugin