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

CVE-2025-7938

CVE-2025-7938 Authorization Bypass in Jerryshensjf
📅 PUBLISHED: 2025-07-21 20:02 UTC 🔄 UPDATED: 2026-09-23 20:31 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.37%
👁️
0.37% probability
9.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1548
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
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
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-7938 is a critical authorization bypass vulnerability identified in the updateGoods function of GoodsController.java within the JPACookieShop (蛋糕商城JPA版) application, version 1.0, developed by jerryshensjf. The flaw allows an unauthenticated remote attacker to manipulate goods data without proper authorization checks. The exploit has been publicly disclosed, increasing the risk of active exploitation. No official patch is currently available from the vendor.

⚡ 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 is not associated with a package manager (NPM, PyPI, Go, Ruby) but is a standalone Java application. Supply chain risk is limited to the direct use of the unpatched application.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – Impact confined to the vulnerable component.
  • Confidentiality Impact: Low (C:L) – Limited data exposure possible.
  • Integrity Impact: Low (I:L) – Unauthorized modification of goods data.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: Medium. The low EPSS score (0.0%) suggests limited active exploitation currently, but the public PoC and lack of patch elevate the risk for exposed instances.

Deep Dive & Mechanics

The vulnerability resides in the updateGoods method of GoodsController.java. This endpoint is intended to allow authorized users (e.g., administrators) to update product information in the shopping cart application. However, the controller fails to enforce proper authorization checks before processing the request.

Root Cause: Missing or insufficient access control annotations (e.g., @PreAuthorize, @Secured, or manual role checks) on the updateGoods endpoint. The method likely accepts HTTP PUT or POST requests with goods data (e.g., price, stock, description) and directly updates the database without verifying the caller's identity or permissions.

Attack Vector: An attacker sends a crafted HTTP request to the vulnerable endpoint (e.g., /goods/update or similar) with modified JSON/XML payload containing arbitrary goods data. Since no authentication is required, the request is processed, leading to unauthorized modification of goods.

Impact: An attacker can alter product prices, descriptions, stock levels, or other attributes, potentially causing financial loss, data integrity issues, or reputational damage.

Vulnerable vs. Patched Code

Vulnerable Code (GoodsController.java - snippet):

@RestController
@RequestMapping("/goods")
public class GoodsController {

    @Autowired
    private GoodsService goodsService;

    // Missing authorization check
    @PutMapping("/update")
    public ResponseEntity<?> updateGoods(@RequestBody Goods goods) {
        goodsService.updateGoods(goods);
        return ResponseEntity.ok("Goods updated successfully");
    }
}

Patched Code (Hypothetical fix):

@RestController
@RequestMapping("/goods")
public class GoodsController {

    @Autowired
    private GoodsService goodsService;

    @PreAuthorize("hasRole('ADMIN')")
    @PutMapping("/update")
    public ResponseEntity<?> updateGoods(@RequestBody Goods goods) {
        goodsService.updateGoods(goods);
        return ResponseEntity.ok("Goods updated successfully");
    }
}

The patched version adds @PreAuthorize("hasRole('ADMIN')") to restrict access to authenticated administrators only. Alternatively, manual checks using SecurityContextHolder could be implemented.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Target running JPACookieShop 1.0 with the vulnerable endpoint exposed.
  • Network access to the application (e.g., http://target:8080).

Exploit Steps:

  1. Identify the vulnerable endpoint (e.g., via directory brute-forcing or source code analysis).
  2. Craft a malicious HTTP PUT request to update a goods item.

Example Exploit (cURL):

curl -X PUT http://target:8080/goods/update \
  -H "Content-Type: application/json" \
  -d '{"id": 1, "name": "Hacked Item", "price": 0.01, "stock": 9999}'

Expected Result: The goods item with ID 1 is updated to have a price of $0.01 and stock of 9999, without any authentication.

Blue Team (Detection & Response)

Detection Steps:

  1. Monitor for unauthorized PUT/POST requests to /goods/update or similar endpoints.
  2. Look for anomalous changes in goods data (e.g., sudden price drops, stock increases).
  3. Check web server logs for requests without session tokens or authentication headers.

Response:

  1. Immediately isolate the affected server.
  2. Review and revert any unauthorized changes to goods data.
  3. Implement temporary access controls (e.g., IP whitelisting) until a patch is applied.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP PUT/POST requests to /goods/update without authentication headers.
    • Unusual JSON payloads containing id, price, stock fields with extreme values.
  • File IOCs:
    • Modified entries in the goods database table (e.g., goods).
  • Log IOCs:
    • Web server logs showing 200 responses to /goods/update from unauthenticated IPs.

Detection Engineering

YARA Rule

rule CVE_2025_7938_JPACookieShop_GoodsController {
    meta:
        description = "Detects exploitation attempts against CVE-2025-7938 in JPACookieShop"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-7938"
    strings:
        $s1 = "/goods/update" ascii wide nocase
        $s2 = "updateGoods" ascii wide nocase
        $s3 = "GoodsController" ascii wide nocase
    condition:
        any of them
}

Sigma Rule

title: CVE-2025-7938 - Unauthorized Goods Update Attempt
id: 8a3f7c2e-5d1b-4a9f-8c6e-2b1d3f4a5c6e
status: experimental
description: Detects HTTP PUT/POST requests to /goods/update without authentication
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: ['PUT', 'POST']
        cs-uri-stem: '/goods/update'
    condition: selection
falsepositives:
    - Legitimate admin actions (if authentication is present)
level: high

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2025-7938 - JPACookieShop GoodsController Unauthorized Update";
    flow:to_server,established;
    content:"PUT"; http_method;
    content:"/goods/update"; http_uri;
    sid:1000001;
    rev:1;
    reference:cve,2025-7938;
    classtype:attempted-admin;
    priority:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the vulnerable endpoint if possible, by removing or commenting out the updateGoods method in GoodsController.java.
  2. Implement network-level access controls (e.g., firewall rules, VPN) to restrict access to the application to trusted IPs only.
  3. Apply a Web Application Firewall (WAF) rule to block requests to /goods/update without valid authentication tokens.

Long-term Fix:

  1. Apply proper authorization checks as shown in the patched code example (e.g., Spring Security annotations).
  2. Conduct a full security audit of all controller endpoints for similar missing authorization issues.
  3. Monitor the vendor's repository for an official patch and apply it promptly when released.

Valters IT Signature This report was generated by Valters IT Cyber Threat Intelligence Division. For questions or further analysis, contact threatintel@valtersit.com.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-7938/ · 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.