☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.6 🐛 CWE-352
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-45141

CVE-2023-45141 — CSRF Token Validation Vulnerability in fiber
📅 PUBLISHED: 2023-10-16 00:00 UTC 🔄 UPDATED: 2026-10-11 17:46 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.27%
👁️
0.27% probability
6.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
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.6
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-45141 is a Cross-Site Request Forgery (CSRF) vulnerability affecting Fiber, an Express-inspired web framework written in Go, in versions prior to 2.50.0. The flaw stems from improper validation and enforcement of CSRF tokens, allowing an attacker to obtain valid tokens and forge malicious requests on behalf of an authenticated user, potentially triggering unauthorized state-changing operations. With a CVSS score of 8.6, this vulnerability poses a significant risk to any application built on affected Fiber versions, particularly those handling sensitive transactions without additional protection layers. Users are strongly advised to upgrade to version 2.50.0 and implement supplementary security controls such as captchas, 2FA, and secure session cookie attributes.

⚡ 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

Technical Analysis

The Fiber web framework implements CSRF protection through a token-based validation mechanism. In affected versions (prior to 2.50.0), the framework's CSRF middleware suffers from a fundamental flaw: it fails to properly validate and enforce the integrity and origin of CSRF tokens during request processing.

Vulnerability Class: Cross-Site Request Forgery (CWE-352). The root cause is that the application accepts requests without adequately verifying that the CSRF token supplied in the request matches a legitimate token issued to the authenticated session. The "improper validation and enforcement" language from the NVD description suggests that either:

  • The token comparison logic can be bypassed (e.g., tokens are not cryptographically bound to the session), or
  • The middleware fails to reject requests where the token is missing, malformed, or originates from a different origin, or
  • The token generation mechanism leaks tokens to unintended parties (e.g., via predictable generation or exposure through HTTP responses).

The attack mechanism relies on the browser's behavior of automatically including authentication cookies (Session or Bearer tokens) in cross-origin requests. If the application relies solely on CSRF tokens for state-changing request protection, and those tokens can be obtained or predicted by the attacker, a malicious website can forge POST requests, form submissions, or AJAX calls that the victim's browser will send with full authentication context.

Affected Attack Surface:

  • All Fiber applications handling state-changing HTTP requests (POST, PUT, DELETE, PATCH) that rely on the CSRF middleware for protection.
  • Applications that do not implement supplemental controls such as SameSite cookie attributes, custom headers verification, or origin/referrer checks.
  • Public-facing web applications where authenticated users perform sensitive actions (account changes, financial transactions, configuration updates).

Key Constraints from NVD Data:

  • No specific function names, class names, API endpoint paths, or file paths are provided in the description.
  • The advisory does not disclose a concrete attack vector at the code level; the vulnerability is primarily described at the behavioral level (token validation bypass).
  • Insufficient technical detail is available to pinpoint the exact vulnerable code path. The report below describes the attack at the vulnerability-class level without fabricating implementation details.

Exploitation Scenarios

Since no public PoC is available, the attack chain is inferred from the vulnerability class (CSRF) and the NVD description. The following are realistic exploitation steps:

Step 1 — Reconnaissance and Target Identification: An attacker first identifies a target application built on Fiber that is running a version < 2.50.0. Fingerprinting can be conducted via HTTP response headers (e.g., Server: Fiber or X-Powered-By: Fiber), by observing characteristic framework error pages, or via Shodan/Censys searches for applications exposing Fiber-specific server identifiers. The attacker identifies state-changing endpoints (e.g., /api/account/update, /settings/profile, /transactions/transfer) that require authentication and are protected by CSRF tokens.

Step 2 — Triggering the Flaw (Token Acquisition or Bypass): The attacker crafts a malicious webpage. The NVD description states that the vulnerability "allows an attacker to obtain tokens." This suggests that the attacker may be able to acquire a valid CSRF token through a specific technique, potentially including:

  • Token leakage: The framework may expose CSRF tokens in HTTP responses (e.g., in JSON responses to GET requests that lack proper origin checks), allowing a malicious site to make a cross-origin fetch and read the token value (if CORS is misconfigured or content-type restrictions are lacking).
  • Token prediction/weak entropy: If the token generation uses a weak random source or predictable inputs, the attacker could generate valid tokens locally.
  • Session-fixation style attack: The attacker may be able to force a victim into a session where the attacker already knows the token.

If direct token acquisition is not possible, the attacker may craft requests that circumvent token validation entirely by exploiting the "improper validation" aspect — for example, sending requests with missing, empty, or duplicate token headers that the middleware fails to reject.

Step 3 — Payload Execution at the Vulnerability-Class Level: The attacker hosts a malicious HTML page. The page contains an auto-submitting form or JavaScript that issues a cross-origin request to the target Fiber application. A typical pattern:

<form action="https://victim-app.example.com/account/change-email" method="POST" id="csrf-form">
  <input type="hidden" name="new_email" value="attacker@example.com">
  <input type="hidden" name="csrf_token" value="[token-obtained-in-step-2]">
</form>
<script>document.getElementById('csrf-form').submit();</script>

The victim's browser automatically attaches session cookies for the target domain, and the request is executed with legitimate authentication. Because the vulnerable Fiber middleware does not properly validate the token's association with the session or its origin, the request is accepted and processed.

Step 4 — Post-Exploitation Impact: Depending on the application's functionality, the attacker can:

  • Change account email/password to take over the account.
  • Submit unauthorized financial transactions.
  • Modify application configuration or escalate privileges.
  • Trigger actions that compromise data integrity.

Additional Attack Scenarios:

  • Drive-by attack: The victim visits a malicious site while logged into the Fiber application; no user interaction beyond page load is required.
  • CSRF + XSS chaining: If the application has any other XSS vector, the attacker could enhance reliability by combining it with CSRF to fully bypass token checks.
  • Subdomain-based attack: If the application has any subdomain under attacker control or an unsecured subdomain, tokens could be read via document.domain manipulation.

Impact Assessment

CVSS Score Context: CVSS 8.6 (High). Although the full vector string is not provided, a score of 8.6 typically reflects high impact on confidentiality, integrity, and/or availability, with a low attack complexity and no privileges required — fully consistent with a CSRF vulnerability that can be exploited remotely by luring an authenticated user to visit a malicious page.

Business Impact:

  • Account Takeover Risk: If the CSRF allows changing credentials (email, password), the attacker gains full account control with high confidence.
  • Data Integrity Compromise: State-changing operations can corrupt databases, alter configurations, or trigger unwanted downstream actions.
  • Financial Loss: In applications with payment/transfer functionality, unauthorized transactions could result in direct monetary loss.
  • Regulatory and Compliance Impact: Breaches involving personal data (e.g., email, phone, identity) could trigger GDPR, HIPAA, or PCI-DSS reporting obligations.

Blast Radius:

  • Directly affected: All users of any Fiber-based application running a vulnerable version.
  • Indirectly affected: Partner systems, backend services, and databases that receive forged requests.
  • Given Fiber's popularity in the Go ecosystem (used for high-performance API servers), the vulnerable population could be substantial, though EPSS score of 0.00265 (18.2% percentile) indicates low current exploitation probability in the wild.

CISA KEV Status: Not listed (NO) — no confirmed exploitation in the wild.

Patch Status Caveat: The patch confidence is rated 0/4 — although the NVD description states that version 2.50.0 addresses the issue, no actual patch commit, diff, or vendor advisory from a tracked patch source has been confirmed. This discrepancy should be noted: the fix is attributed to v2.50.0 but lacks corroborating evidence from the patch intelligence feeds used in this report.


Detection Guidance

The following detection rules are designed to identify exploitation attempts or anomalous behavior consistent with CSRF attacks against a Fiber application. Since no public PoC or exploit exists, these rules focus on detecting the behavioral characteristics of CSRF attacks: cross-origin requests to sensitive endpoints, unusual token patterns, or anomalous traffic.

Sigma Rule

title: Cross-Site Request Forgery Attempt Against Fiber Application
id: 5f3a2e1b-9d8c-4f2a-8b3e-1c4d5e6f7a8b
status: experimental
description: Detects HTTP requests to state-changing endpoints (POST/PUT/DELETE/PATCH) that lack CSRF tokens or contain anomalous token patterns, potentially indicating CSRF exploitation against Fiber applications.
author: Valtersit Threat Intelligence
date: 2024/01/15
logsource:
  category: webserver
  product: fiber
  definition: 'Web server access logs or reverse proxy access logs (nginx/HAProxy) for Fiber-based applications'
detection:
  selection_csrf_endpoint:
    cs-method:
      - 'POST'
      - 'PUT'
      - 'PATCH'
      - 'DELETE'
  selection_missing_token:
    cs-uri-query|contains:
      - 'csrf'
      - 'token'
      - '_csrf'
    cs-uri-query|contains|all:
      - 'csrf'
      - 'token'
  selection_cross_origin:
    http_referrer|re: '^(?!https?://(www\.)?(victim-app\.example\.com|api\.victim-app\.com)).*'
  condition: selection_csrf_endpoint and (selection_missing_token or selection_cross_origin)
falsepositives:
  - Legacy API clients that use custom authentication headers and do not rely on CSRF tokens
  - Referrer information spoofed or stripped by privacy-focused browser extensions
  - Misconfigured reverse proxies
level: medium
tags:
  - attack.t1190
  - attack.t1189
  - cve.2023-45141

YARA Rule

rule CVE_2023_45141_Fiber_CSRF_Exploit_Payloads
{
    meta:
        author = "Valtersit Threat Intelligence"
        description = "Detects HTML/JavaScript payloads commonly used for CSRF attacks targeting Fiber web applications"
        cve = "CVE-2023-45141"
        date = "2024-01-15"
        ref = "https://nvd.nist.gov/vuln/detail/CVE-2023-45141"
        severity = "high"
    strings:
        $csrf_form = /<form[^>]*action=["'][^"']*["'][^>]*method=["'](?:POST|PUT|PATCH|DELETE)["'][^>]*>/ ascii nocase
        $csrf_hidden = /<input[^>]*type=["']hidden["'][^>]*name=["'](?:csrf_token|_csrf|csrf)["'][^>]*>/ ascii nocase
        $auto_submit = /(document\.getElementById\([^)]*\)\.submit\(\)|form\.submit\(\))/
        $fetch_post = /fetch\(\s*["'][^"']*["']\s*,\s*\{[^}]*method:\s*["']POST["']/ ascii nocase
        $xhr_post = /XMLHttpRequest[\s\S]{0,200}(?:open|send)\(["'](?:POST|PUT|PATCH|DELETE)["']/
    condition:
        uint16(0) == 0x3C3C /* "<MZ" — HTML file */ or 1 of ($fetch_post, $xhr_post) and
        (2 of ($csrf_form, $csrf_hidden, $auto_submit))
}

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"CVE-2023-45141: Possible CSRF attempt against Fiber app - missing token in state-changing request"; flow:to_server,established; http.method; content:"POST|20|/"; sid:1000451; rev:1; classtype:web-application-attack; reference:cve,2023-45141; reference:url,https://nvd.nist.gov/vuln/detail/CVE-2023-45141; metadata:created_at 2024_01_15, updated_at 2024_01_15, attack_target Web_Server, deployment Perimeter, signature_severity Major, tag CSRF;)

alert http any any -> $HOME_NET any (msg:"CVE-2023-45141: Cross-origin Referer for state-changing POST to Fiber app"; flow:to_server,established; http.method; content:"POST"; http.referer; content:!"|2e|"; pcre:"/(^|\.)victim-app\.example\.com$/"; sid:1000452; rev:1; classtype:web-application-attack; reference:cve,2023-45141; reference:url,https://nvd.nist.gov/vuln/detail/CVE-2023-45141; metadata:created_at 2024_01_15, updated_at 2024_01_15, attack_target Web_Server, deployment Perimeter, signature_severity Major, tag CSRF;)

Elastic Detection

# EQL to detect potential CSRF exploitation attempts against a Fiber application
sequence by source.ip with maxspan=10s
  [network where event.type == "connection" and event.action == "connected" and destination.port == 443]
  [http where http.request.method == "POST" and
     http.request.body != null and
     not startsWith(http.request.body.text, "csrf_token=") and
     not contains(http.request.body.text, "_csrf=") and
     http.referrer not like "https://allowed-origin.example.com*"]

Splunk SPL Query

index=webproxy OR index=webserver sourcetype=access_combined
| where method IN ("POST", "PUT", "PATCH", "DELETE")
| eval has_csrf = if((uri MATCHES "(?i).*csrf.*") OR (form_data LIKE "%csrf%") OR (body LIKE "%csrf%"), 1, 0)
| eval cross_origin = if(referer != "" AND NOT (referer LIKE "https://allowed-origin.example.com%"), 1, 0)
| where (has_csrf == 0 AND method == "POST") OR cross_origin == 1
| table _time, src_ip, uri, method, referer, host
| sort - _time

Wazuh OSSEC Rule

<group name="fiber-csrf,">
  <rule id="100451" level="10">
    <decoded_as>json</decoded_as>
    <field name="method">POST|PUT|PATCH|DELETE</field>
    <description>CVE-2023-45141: Potential CSRF attempt - state-changing HTTP method without CSRF token parameter</description>
    <group>web_application_attack,csrf,cve_2023_45141</group>
    <mitre>
      <id>T1190</id>
      <id>T1189</id>
    </mitre>
  </rule>

  <rule id="100452" level="8">
    <decoded_as>json</decoded_as>
    <field name="http_referrer">^(?!https?://(allowed-origin\.example\.com)).*</field>
    <description>CVE-2023-45141: Cross-origin referer for state-changing request to Fiber application</description>
    <group>web_application_attack,csrf,cve_2023_45141</group>
    <mitre>
      <id>T1190</id>
      <id>T1189</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED (no patch evidence from any tracked source). The NVD advisory states that the issue is fixed in version 2.50.0, but the patch intelligence feeds used for this report show no confirmed patch commit, advisory, or release notice. This discrepancy requires verification.

1) Immediate Mitigations (No Patch)

  • Upgrade to version 2.50.0 immediately — this is the only known remediation per the NVD advisory. If this version is not yet available in your package registry, pin to the latest release and monitor the upstream repository.
  • Set session cookies with SameSite=Lax or SameSite=Strict — this prevents browsers from sending session cookies on cross-origin requests, neutralizing most CSRF attacks.
  • Set Secure and HttpOnly attributes on all session cookies — reduces cookie exposure to JavaScript and ensures transmission only over HTTPS.
  • Deploy a Web Application Firewall (WAF) with rules to block requests that lack CSRF tokens for state-changing endpoints.
  • Implement custom header validation: Require a custom HTTP header (e.g., X-Requested-With: XMLHttpRequest) on all state-changing requests and verify its presence at the application level. Browsers do not allow cross-origin JavaScript to set custom headers without triggering a preflight CORS request, which the server should reject.
  • Enforce strict CORS configuration: Disable Access-Control-Allow-Origin: * and ensure only trusted origins are whitelisted.
  • Add supplemental user interaction requirements: Implement CAPTCHA or one-time passwords (OTP) for high-risk actions (account changes, money transfers).

2) Patch/Upgrade Steps

  1. Verify the current Fiber version: go list -m github.com/gofiber/fiber/v2
  2. Upgrade: go get github.com/gofiber/fiber/v2@v2.50.0
  3. Review application code for any breaking API changes between your current version and >2.50.0.
  4. Ensure the CSRF middleware is properly configured with strict token validation settings.
  5. Re-run all integration tests that cover state-changing endpoints.

3) Long-Term Hardening

  • Defense in Depth: Do not rely solely on CSRF tokens. Combine with SameSite cookies, origin checking, and per-request nonce validation.
  • Regular dependency scanning: Integrate vulnerability scanning (e.g., govulncheck, Trivy, Grype) into CI/CD pipelines to alert on known CVEs.
  • Session lifecycle hardening: Implement absolute session timeouts, idle timeouts, and detect session fixation attempts.
  • Security headers: Deploy Content-Security-Policy, X-Content-Type-Options: nosniff, and Referrer-Policy: no-referrer to reduce token leakage vectors.
  • Architecture improvements: Consider API tokens with short expiration and scope-limiting instead of long-lived session cookies.
  • Monitor upstream Fiber repository for security advisories and apply fixes promptly.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2023-45141
  2. GitHub Advisory for gofiber/fiber (advisory ID if publicly disclosed): https://github.com/gofiber/fiber/security/advisories
  3. Fiber Framework Official Repository: https://github.com/gofiber/fiber (monitor for v2.50.0 release notes / patch commits)
  4. OWASP Cross-Site Request Forgery Prevention Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html
  5. CISA Known Exploited Vulnerabilities Catalog (CVE not currently listed): https://www.cisa.gov/known-exploited-vulnerabilities-catalog

Threat Actor Campaign Evidence: No evidence of active exploitation in the wild. Not listed in CISA KEV. EPSS score (0.00265) indicates a low likelihood of active exploitation activity at the time of writing. No public PoC or exploit code has been identified. The threat landscape for this CVE is currently limited, but the high CVSS score warrants proactive patch management to prevent future exploitation.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Fiber"
http.component:"fiber"
Go-http-fiber-server
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-45141/ · 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.