Turvallisuusvahvistuksia ja vakavien tietoturvalöydösten korjaus. Suosittelemme päivittämään.
Vakavimmat korjaukset
- Cache bypass (Critical): kun kävijällä oli voimassa oleva sessio-cookie, plugin antoi WP:n renderöidä koko suojatun sivun ilman
DONOTCACHEPAGE/no-store-headereitä. Sivu-/CDN-cachen takana ensimmäisen vierailijan avattu sisältö olisi voinut tallentua välimuistiin ja näkyä kaikille seuraaville ilman salasanaa.guard()lähettää nyt no-cache-headerit heti kun sivu on tunnistettu suojatuksi, myös valtuutetussa näkymässä. - REST/feed/oEmbed-vuoto (High): suojattu sisältö oli luettavissa ilman salasanaa WP REST APIn, RSS-/Atom-syötteiden ja oEmbedin kautta, koska portti oli vain
template_redirect-hookissa. UusiContent_Guardsoveltaa samaa valtuutusta (admin tai voimassa oleva cookie) myösrest_prepare_post/page-,the_content_feed-,the_excerpt_rss-,comment_text_rss- jaoembed_response_data-suodattimiin.
Muut kovennukset
- Session sidotaan salasanan hashiin (Medium): sessio-cookie sisältää allekirjoitetun `v`-sormenjäljen, jonka tarkistus epäonnistuu salasanan vaihdon tai suojauksen poiston/uudelleenluonnin jälkeen. Vanhat tokenit invalidoituvat automaattisesti.
- SEO-piilotus oletuksena päällä (Medium): uudet suojaukset luodaan
seo_hide=1-tilaan. - Secure-cookie myös TLS-terminoivissa proxyissa (Low): Secure-lippu asetetaan kun
is_ssl()TAI siteurl on https. - Minimi salasanapituus 8 merkkiä (Info): pakotettu sekä lisäyksessä että vaihdossa.
Yhden löydöksen (globaali rate-limit per sivu) toteutus on tarkoituksellisesti lykätty, koska naivi globaali lukko mahdollistaisi DoS-hyökkäyksen kaikkia laillisia käyttäjiä vastaan. Käsitelty SECURITY-AUDIT.md-tiedostossa.
Testit
- 48 yksikkötestiä (oli 37) — uudet
ContentGuardTestja Session-fingerprint-testit - PHPStan level 6 puhdas, WPCS puhdas
Asennus
- Lataa
pakki-password-0.2.0.zipalta - WP: Plugins → Add New → Upload Plugin → korvaa olemassa oleva 0.1.0
- Aktivoi (jos deaktivoitui upgrade-prosessissa)
Aiemmat sessio-cookiet invalidoituvat automaattisesti uuden fingerprint-vahvistuksen vuoksi — käyttäjien tarvitsee syöttää salasana uudelleen.
Täysi muutoslista: v0.1.0...v0.2.0