WP Cerber Security 9.9.5
English version: WP Cerber Security 9.9.5
Deze release draait om het verkleinen van de afstand tussen een beveiligingsincident en de instelling die het heeft veroorzaakt. We hebben de manier waarop WP Cerber vanuit het activiteitenlogboek linkt naar de exacte instelling achter een beslissing opnieuw opgebouwd, twee fouten in de beheerdersinterface verholpen en de manier waarop de plugin URL's in het beheerdersgedeelte escapeert, verbeterd. Achter de schermen slaan we beheerdersmeldingen nu ook op als gestructureerde, gevalideerde data in plaats van als gegenereerde HTML.
Belangrijkste hoogtepunten
Links in de uitleg van het activiteitenlogboek leiden je nu naar de juiste pagina. Wanneer de beslissing van WP Cerber gebaseerd is op een rolbeleid, opent de link het juiste roltabblad en markeert het exacte veld, in plaats van je naar een instellingenpagina te leiden waar je het zelf moet zoeken.
Als je op zo'n link klikt, wordt de gewenste instelling nu in het midden van het scherm weergegeven, waardoor de WordPress-beheerbalk deze niet langer bedekt en je de aangrenzende instellingen ter context kunt zien.
In het gedeelte 'Mail Transport' wordt geen onbewerkte HTML meer weergegeven waar een link hoort te staan.
Administratieve ervaring
Rolbeleidsinstellingen zijn nu adresseerbaar. Een link die voor een instelling was gemaakt, bevatte voorheen één waarde in het URL-fragment met twee tegenstrijdige betekenissen: het veld dat moest worden gemarkeerd of het tabblad dat moest worden geopend. Een rolbeleidsinstelling kon nooit worden gemarkeerd, omdat de benodigde ruimte voor het veld al werd ingenomen door de tabaanwijzer. Het fragment bevat nu twee onafhankelijke declaraties, die elk één ding benoemen en zonder het andere kunnen worden gebruikt. In de praktijk wordt een uitleglink [Beheren], zoals hieronder weergegeven, een link waarmee je met één klik naar het juiste roltabblad kunt springen, waarbij het betreffende veld knippert.
Scroll- en flashlinks centreren de instelling. De native fragmentnavigatie lijnt het doel uit met de bovenkant van het browservenster, precies waar de beheerdersbalk zich bevindt. We centreren nu de betreffende instellingsregel wanneer de pagina gereed is en opnieuw nadat het venster volledig is geladen. De tweede stap corrigeert native heruitlijning en lay-outverschuivingen die worden veroorzaakt door laat geladen content. Veldomhulsels buiten instellingsregels worden ongewijzigd gelaten en wanneer de browser een voorkeur prefers-reduced-motion aangeeft, vindt het scrollen zonder animatie plaats.
Beveiligingswijzigingen
Een strengere URL-escaper voor de uitvoer van beheerders. We hebben de filter- en reguliere expressiestack in crb_escape_url() vervangen door een expliciete controle op de URL-vorm. De helper accepteert nu root-relatieve URL's die beginnen met een enkele schuine streep, naast de HTTP(S)-, FTP(S)- en mailto-vormen die al werden ondersteund. Protocol-relatieve URL's, backslash-netwerkpadvarianten, niet-ondersteunde schema's en andere relatieve vormen blijven geweigerd.
We zijn ook gestopt met het verwijderen van aanhalingstekens, punthaken en backticks uit geaccepteerde URL's. Het weglaten van de oude sanitizer heeft een duidelijk voordeel: niet-ASCII URL-paden blijven intact. Ongeldige UTF-8-tekens zorgen er niet langer voor dat het ontsnapte resultaat wordt omgezet in een lege attribuutwaarde, omdat de escaper die bytes nu vervangt.
Verbeteringen in betrouwbaarheid
Beheerdersberichten worden opgeslagen als gestructureerde data, niet als markup. We hebben UI Spec geïntroduceerd, een strikt geserialiseerde vorm van de interne UI Factory-representatie van WP Cerber. In plaats van gerenderde HTML op te slaan, slaat de plugin nu een versiebeheerd, gevalideerd document op dat tijdens het renderen wordt omgezet in een UI-structuur en doorgegeven aan de actieve renderer.
Bugfixes
Alleen de eerste instellingslink in het activiteitenlogboek werkte. Op de pagina met het activiteitenlogboek, wanneer meerdere uitlegpagina's werden weergegeven voor gebeurtenissen waarbij dezelfde gebruiker betrokken was, en de regel waarop WP Cerber zijn beslissing baseerde op de rol, scrolde alleen de eerste link naar de juiste pagina en markeerde deze. Elke link daarna opende de pagina met rolgebaseerde instellingen zonder naar de betreffende instelling te gaan.
Ruwe HTML in het gedeelte Mailtransport. In plaats van een link weer te geven, toonde het gedeelte de letterlijke opmaak voor de link "Beschikbaar in de professionele versie van WP Cerber". De melding was als HTML-anker aan de sectiebeschrijving toegevoegd en sectiebeschrijvingen worden door de instellingenrenderer geëscapt voordat ze worden weergegeven. Sectiebeschrijvingen blijven nu platte tekst en de PRO-vereiste wordt apart weergegeven als een gestructureerde sectielink die via UI Factory wordt gegenereerd. Het escapen van beschrijvingen blijft behouden en links op sectieniveau worden veilig weergegeven.
Samenvatting
Triage wordt korter met deze update. Een uitleg in het activiteitenlogboek leidt nu direct naar de instelling die aan de beslissing ten grondslag ligt, gecentreerd en gemarkeerd op het scherm. De sectie Mailtransport geeft de PRO-melding correct weer en beheerderslinks worden volgens strengere regels ontsnapt. Aankondigingen worden opgeslagen als gevalideerde structuren, waardoor onjuiste gegevens zichtbaar worden weergegeven in plaats van stilzwijgend.
Verenigbaarheid
Deze release is getest met PHP 7.4.33, 8.0.30, 8.1.34, 8.2.33, 8.3.33, 8.4.24 en 8.5.9, en met WordPress 5.8.14, 6.6.6, 6.7.6, 6.8.7, 6.9.6 en 7.1.
