Notificare de securitate Profile Builder
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 Profile Builder (pluginul WordPress listat pe
WordPress.org ca „Profile Builder” / „User Profile Builder”, de Cozmoslabs, care se află
în fișierele dumneavoastră la /wp-content/plugins/profile-builder/) 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ă, cum să citiți versiunea
dumneavoastră fără a fi păcăliți și cum să actualizați.
Rețineți: acesta nu este ProfilePress. Există un alt plugin WordPress cu un nume asemănător
(ProfilePress, folder wp-user-avatar), despre care scriu separat. Dacă folderul pluginului
dumneavoastră este wp-user-avatar și nu profile-builder, această pagină nu este cea de care
aveți nevoie; consultați în schimb notificarea ProfilePress. Tot ce
urmează privește exclusiv Profile Builder de la Cozmoslabs.
Î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 pe site-urile care au activat o setare specifică, iar eu nu pot vedea setările dumneavoastră din exterior:
- Opțiunea „Conectare automată” (Automatically Log In) a Profile Builder, care conectează automat un utilizator nou imediat după ce finalizează înregistrarea, trebuie să fie activată.
- Această opțiune este dezactivată implicit. Un site care nu a activat-o niciodată nu este expus acestei probleme, chiar și pe o versiune afectată.
Pot citi versiunea pluginului dumneavoastră dintr-un fișier public, dar nu pot citi configurația dumneavoastră, astfel încât această notificare este o avertizare preventivă, nu o constatare confirmată privind site-ul dumneavoastră.
Problema este CVE-2026-15368, o preluare de cont neautentificată în pasul de conectare automată al pluginului. Afectează versiunile 2.1.4 până la 3.16.3 și este remediată în versiunea 3.16.4. Dacă rulați o versiune afectată, actualizați Profile Builder la 3.16.4 sau o versiune ulterioară. Are un scor CVSS de 8.1. Nu am cunoștință de niciun cod de exploatare public pentru aceasta.
Un cuvânt privind urgența, deoarece aceasta este o notificare condiționată. Dacă nu folosiți conectarea automată după înregistrare, actualizarea este o întreținere obișnuită a pluginului. Dacă o folosiți, vă rugăm să tratați actualizarea ca pe o prioritate: în acea configurație, defectul ar putea permite unui vizitator fără niciun cont să obțină o sesiune conectată aparținând unui utilizator existent a cărui adresă de e-mail o cunoaște, inclusiv a unui administrator, ceea ce ar preda controlul site-ului.
Aceasta este o problemă a pluginului, nu a nucleului WordPress. Un WordPress complet actualizat nu vă protejează dacă pluginul Profile Builder î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ă cer bani, parole sau acces la site-ul dumneavoastră, și nu am încercat să pătrund în el, să mă înregistrez pe 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 îl publică pluginul. În mod specific, nu am trimis formularul dumneavoastră de înregistrare, nu am creat un cont și nu m-am apropiat de pasul de conectare automată. 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ă
Profile Builder adaugă unui site WordPress formulare front-end de înregistrare, conectare și editare a profilului, astfel încât vizitatorii se pot înregistra și își pot gestiona propriile conturi fără să vadă vreodată zona de administrare. Una dintre facilitățile sale este opțiunea de a conecta automat un utilizator nou în momentul în care înregistrarea sa se finalizează, scutindu-l să își tasteze din nou parola într-un formular de conectare separat.
În versiunile afectate, această facilitate decidea care cont să fie conectat, în mod greșit. În loc să folosească contul tocmai creat, pluginul căuta un cont după adresa de e-mail introdusă în formularul de înregistrare și îl conecta pe acela. Dacă adresa trimisă aparținea cuiva care avea deja un cont pe site, persoanei care completa formularul i se preda o sesiune conectată pentru acel cont existent.
Din aceasta rezultă două lucruri, care trag în direcții opuse. Primul este că acest lucru se întâmplă doar acolo unde conectarea automată este activată. Cu setarea dezactivată, pluginul nu inițiază niciodată pasul de conectare automată, așa că un site aflat în această stare nu este accesibil prin această problemă. Al doilea este că acolo unde setarea este activată, nimic nu limitează consecința la membrii obișnuiți: contul care este predat este oricare se potrivește cu adresa trimisă, iar adresa unui administrator de obicei nu este un secret. Nu este necesar niciun cont, nicio parolă și nicio cooperare din partea victimei.
Descriu acest lucru la nivelul de care are nevoie un proprietar de site pentru a acționa, și nu mai mult. Nu public detaliile care ar permite cuiva să îl reproducă, și aș ruga să nu încercați acest lucru pe propriul site sau pe al altcuiva. Verificarea setării și a numărului dumneavoastră de versiune, așa cum este descris mai jos, vă spune tot ce aveți nevoie pentru a decide ce aveți de făcut.
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ă. Tot ce am observat este versiunea.
Sunt afectat?
Două întrebări decid acest lucru, în această ordine.
Primul: este activată setarea „Conectare automată” (Automatically Log In)?
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.
- Conectați-vă la tabloul de bord WordPress (de obicei la
yourdomain.com/wp-admin). - Deschideți meniul Profile Builder din bara laterală, apoi mergeți la Setări.
- Căutați comutatorul etichetat Automatically Log In, descris ca „Enable to automatically log in new users after successful registration” (Activați pentru a conecta automat utilizatorii noi după o înregistrare reușită).
- Dacă acel comutator este dezactivat, această problemă nu ajunge la site-ul dumneavoastră, chiar și pe o versiune afectată. Actualizarea merită totuși făcută ca întreținere obișnuită.
- Dacă este activat, problema vi se aplică, și ar trebui să actualizați prompt.
Un loc suplimentar de verificat, dacă aveți mai multe pagini de înregistrare: o pagină individuală care conține un formular de înregistrare Profile Builder poate avea propria copie a acelei setări, care suprascrie setarea globală. Dacă întrețineți mai multe pagini de înregistrare, merită să le verificați pe fiecare în parte, în loc să vă bazați doar pe comutatorul global.
Vă rugăm să nu încercați să reproduceți problema pe propriul site sau pe al altcuiva, și nu este nevoie să faceți acest lucru pentru a răspunde la întrebarea de mai sus.
Al doilea: ce versiune rulați?
Nu trebuie să mă credeți pe cuvânt. Pentru acest plugin există un mod specific de verificare care vă poate păcăli, astfel încât merită să citiți această parte cu atenție.
Din zona de administrare WordPress (sursa de referință):
- În tabloul de bord WordPress, mergeți la Pluginuri apoi Pluginuri instalate.
- Găsiți Profile Builder, intrarea al cărei folder este
profile-builder, și notați versiunea afișată sub numele său.
Din manifestul public (nu este necesară conectarea): deschideți
yourdomain.com/wp-content/plugins/profile-builder/readme.txt într-un browser. Linia
Stable tag: de aproape de început este versiunea pe care o raportează instalarea
dumneavoastră, și aceasta este una dintre cele două surse publice pe care le citesc.
Din sursa paginii dumneavoastră (nu este necesară conectarea): vizualizați sursa unei pagini de pe site-ul dumneavoastră care afișează un formular Profile Builder și căutați foaia de stil front-end a pluginului exact la această cale:
/wp-content/plugins/profile-builder/assets/css/style-front-end.css?ver=...
Numărul ?ver= atașat acelui fișier unic este versiunea proprie a pluginului. Pentru acest
plugin, aceasta urmărește lansarea exact, motiv pentru care o consider o a doua citire de
încredere.
Capcana de evitat aici, și este una ușor de căzut în ea. Profile Builder livrează alte
componente în interiorul propriului folder de plugin, iar acestea au propriile numere de
versiune, fără nicio legătură. Modulul suplimentar gratuit user-profile-picture, aflat sub
add-ons-free/user-profile-picture/, a rămas la 2.6.0 de-a lungul mai multor versiuni de Profile
Builder fără să se schimbe, iar sub assets/misc/divi/ există o integrare Divi inclusă,
numerotată 1.0.0. Ambele aceste numere par alarmant de vechi comparativ cu 3.16.4, și niciunul nu
spune nimic despre această problemă. Dacă citiți o versiune din sursa paginii dumneavoastră,
asigurați-vă că fișierul din care o citiți este assets/css/style-front-end.css și nimic altceva.
Apoi aplicați această regulă, reținând că versiunile se compară numeric, nu alfabetic, astfel
încât 3.10.0 este mai nouă decât 3.9.9, deși pare mai mică ca text. Acest plugin chiar parcurge
fiecare linie de lansare de la .0 până la .9 înainte de a trece mai departe, așa că această
distincție contează aici:
- 2.1.4 până la 3.16.3: potențial afectat, în funcție de întrebarea privind setarea de mai sus. Actualizați acum.
- 3.16.4 sau mai nouă: deja remediată în ceea ce privește această problemă. Versiunea curentă la momentul scrierii este 3.16.6, iar adoptarea celei mai recente versiuni disponibile este cea mai bună mișcare.
- Mai veche de 2.1.4: neafectată de această problemă. Greșeala specifică descrisă mai sus a fost introdusă în 2.1.4, așa că instalările cu adevărat mai vechi se află în afara acestui interval. Totuși, o versiune atât de veche este cu mulți ani în urmă la toate celelalte capitole, iar actualizarea merită făcută din motive generale.
Dacă nu puteți obține o versiune lizibilă din niciuna dintre cele trei verificări de mai sus,
acest lucru este obișnuit pentru acest plugin și nu este un semn al nimic anume: foaia de stil se
încarcă doar pe paginile care afișează efectiv unul dintre formularele sale, iar pluginurile de
cache sau de optimizare elimină de obicei valoarea ?ver=. Ecranul de administrare de la primul
pas are întotdeauna răspunsul.
Cum se actualizează
Cea mai sigură metodă este să actualizați direct din WordPress și să faceți mai întâi o copie de rezervă:
- Faceți o copie de rezervă a site-ului (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.
- În panoul de administrare WordPress, mergeți la Panou de control apoi la Actualizări, sau la Pluginuri apoi la Pluginuri instalate. Dacă este listată o actualizare pentru Profile Builder, instalați-o de aici.
- Dacă preferați linia de comandă, WP-CLI face același lucru:
wp plugin update profile-builder(comanda utilizează numele folderului). - Dacă nu apare nicio actualizare, puteți obține cea mai recentă versiune direct de pe pagina pluginului din directorul WordPress.org, Profile Builder, și puteți actualiza accesând Pluginuri apoi Adaugă plugin nou și apoi Încarcă plugin.
- După actualizare, confirmați noul număr de versiune (3.16.4 sau o versiune ulterioară) folosind pașii de mai sus și verificați dacă formularele dumneavoastră de înregistrare, conectare și editare a profilului funcționează în continuare normal.
Dacă utilizați oricare dintre modulele suplimentare plătite Profile Builder de la Cozmoslabs, actualizați-le împreună cu pluginul principal, deoarece versiunile lor sunt de obicei sincronizate.
În timp ce sunteți acolo, merită să confirmați că nucleul WordPress și celelalte pluginuri ale dumneavoastră sunt actualizate, deoarece același principiu se aplică tuturor.
După actualizare
Actualizarea la 3.16.4 sau o versiune ulterioară rezolvă problema, iar pentru majoritatea site-urilor aceasta este întreaga sarcină. 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 setarea. Dacă site-ul dumneavoastră a avut „Conectare automată” activată în timp ce rula o versiune afectată, atunci a fost cel puțin teoretic posibil ca cuiva să i se fi predat o sesiune pe un cont existent. Actualizarea închide breșa, dar nu anulează accesul deja obținut, astfel încât în acel caz câteva măsuri de precauție obișnuite sunt recomandabile:
- Verificați conturile dumneavoastră de administrator și orice alte conturi importante, pentru intrări pe care nu le recunoașteți, adrese de e-mail care nu mai aparțin persoanei potrivite sau schimbări de rol pe care nu le-ați făcut.
- Verificați autentificările recente și orice sesiuni active în prezent pentru orice nu puteți explica.
- Resetați parolele conturilor dumneavoastră de administrator. Regenerarea cheilor secrete și
a sărurilor (salts) WordPress din
wp-config.phpeste un pas complementar recomandat (noile valori sunt la un clic distanță la generatorul oficial de chei secrete, iar înlocuirea lor deconectează toți utilizatorii o dată).
Dacă găsiți ceva care vă îngrijorează, tratarea situației ca pe orice alt caz suspectat de acces neautorizat este răspunsul corect. Dacă site-ul dumneavoastră nu a avut niciodată conectarea automată 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 fișiere pe care site-ul dumneavoastră le servește deja fiecărui vizitator, anume readme.txt
public al pluginului, pagina dumneavoastră de start și adresele activelor scrise în acea pagină.
Nu am accesat zona de administrare WordPress, baza de date sau nicio parte privată a site-ului.
În mod special, nu am trimis niciodată formularul dumneavoastră de înregistrare, nu am creat niciodată un cont și nu am atins niciodată pasul de conectare automată. Nu s-a trimis, testat sau exploatat nimic. Acest lucru contează mai mult aici decât pe majoritatea acestor pagini, deoarece înregistrarea este acțiunea exactă despre care se ocupă această problemă, astfel încât „nu m-am atins de ea” face toată diferența dintre o divulgare și o intruziune.
De asemenea, nu public în mod deliberat detaliile care ar ajuta pe cineva să acționeze în legătură cu această problemă. Descrierea de mai sus se oprește la nivelul de care are nevoie un proprietar de site, iar eu nu trimit către niciun cod demonstrativ (proof-of-concept).
Aceasta este o observație bazată pe versiune: site-ul dumneavoastră raportează o versiune din intervalul afectat. Nu este o afirmație că site-ul dumneavoastră era exploatabil la momentul verificării mele. Deoarece problema depinde de o setare pe care nu o pot vedea, un site din acel interval s-ar putea să nu fie expus deloc, iar un site din acel interval s-ar putea să fie protejat separat prin alte mijloace, cum ar fi un firewall de aplicații web sau o remediere retroportată.
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 să găsiți direcția corectă, fără costuri. Contactați-mă folosind detaliile de contact de mai jos.
Contact
Evan Harris, cercetător în securitate
- Email: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
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