TablePress, un plugin WordPress folosit pe sute de mii de site-uri, a avut o vulnerabilitate care permite injectarea de scripturi malițioase în paginile compromise. Problema afectează toate versiunile până la 3.2 inclusiv și poate determina executarea codului rău intenționat atunci când un vizitator încarcă pagina afectată.
TablePress este popular: peste 700.000 de site-uri îl folosesc pentru a crea și administra tabele cu funcții interactive, precum sortare, paginare și căutare. Tocmai această răspândire îl face un vector atractiv pentru atacatori. Vulnerabilitatea a apărut dintr-un motiv simplu, dar grav: lipsa unor verificări adecvate la intrare și a scăpărilor de securitate la ieșire în modul în care pluginul tratează parametrul shortcode_debug.
Ce s-a întâmplat, pe scurt? Input sanitization ar trebui să filtreze ce scriu utilizatorii în formulare, blocând elementele periculoase, iar output escaping ar trebui să împiedice browserul să interpreteze anumite caractere ca fiind cod executabil. TablePress nu a aplicat corect aceste măsuri pentru parametrul menționat. Rezultatul: un atacator cu acces de nivel Contributor sau mai mare poate încărca un script care rămâne stocat și se execută ori de câte ori pagina este vizualizată. Asta se numește stored cross-site scripting, sau XSS, iar efectele variază de la furt de sesiuni la redirecționări nedorite, în funcție de ce script încarcă atacatorul.
Faptul că este nevoie de acces de tip Contributor atenuează puțin riscul, pentru că nu oricine poate scrie conținut care să includă astfel de scripturi. Totuși, pe site-urile cu mai mulți colaboratori sau pe cele care permit înregistrare liberă, pericolul rămâne real. Recomandarea clară pentru utilizatori este să actualizeze pluginul la versiunea 3.2.1 sau mai recentă, care conține corecțiile necesare.
Dacă administrezi un site cu TablePress instalat, verifică rapid versiunea și fă update. Ai verificat deja ce versiune folosești?
uff, updatează-l repede, mulți uită de pluginuri și boom risc mare
da, update la 3.2.1 minim, au mai reparat și nonce‑uri. vezi changelog, backup întâi, apoi clear cache. ms 🙂