Safeguard
Vulnerability Analysis•

CVE-2025-9415: Medium Unrestricted Upload in GreenCMS

CVE-2025-9415 is a medium file upload flaw in GreenCMS. No fix is confirmed, so limit access, review the code, and scan your dependencies for this product.

Safeguard Security Team
4 min read

CVE-2025-9415 is a medium severity (6.3) unrestricted file upload flaw in GreenCMS, affecting versions up to 2.3.0603. The product is unsupported, so no fix is expected. Until a fix is confirmed, restrict who can reach the web application, review the affected code path, and scan your dependencies.

What's affected

  • Product: GreenCMS
  • Affected versions: up to 2.3.0603
  • Component: /index.php?m=admin&c=media&a=fileconnect
  • Parameter: the upload[] parameter
  • Severity: Medium, CVSS 6.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L)
  • Weakness classes: CWE-284, CWE-434
  • Fixed version: The product is unsupported, so no fix is expected, so the vendor advisory or release page should be checked

The NVD description says the handling of the upload[] parameter lets a user supply a file the application should not accept. It also says the attack can be started remotely and that an exploit has been made public. The record does not list a fixed version, and the reference pages we could reach did not either.

This is a small PHP style web application distributed as source code, so there is usually no package to upgrade. Whoever deployed it owns the code and the fix.

The public reference pages listed in the record could not be retrieved when we checked, so the details above come from the NVD record alone. If the project's own page says something different about versions or severity, trust that page and treat this as a starting point.

How to check if you're exposed

Start by finding out whether the product is on your servers at all. From the host that serves your sites, look for the file named in the record:

find /var/www -type f -name "index.php" 2>/dev/null

If that returns a path, open the application's own version information or the download you installed from and compare it with the affected range (up to 2.3.0603). Many of these projects ship without a version string in the code, so the date you downloaded the source may be the best clue.

Then look at who can reach it. Search your web server log for requests to the file and read the pattern, not just the count:

grep -i "index.php" /var/log/nginx/access.log | tail -n 50

On Apache the log is usually under /var/log/apache2. Look for unusual characters in query strings or form values, repeated requests from one address, and requests outside business hours.

What to do now

  1. Find it. Work out whether GreenCMS is installed anywhere in your estate, including test servers and old demos.
  2. Limit exposure. Put the application behind a VPN or an IP allowlist, or take it offline if nobody needs it.
  3. Plan a replacement. No fix is expected for an unsupported product, so move to a maintained alternative.
  4. Close the gap in code if you own it. Accept only the file types you need, check content as well as the name, store uploads outside the web root, and never serve them as executable code.
  5. Watch the logs. Keep web server logs for the affected path and review them for odd input.
  6. Scan. Run your dependency manifest through the free in-browser dependency scan to see what else is exposed.

Why it matters

Unrestricted upload (CWE-434) means the application accepts a file without checking enough about what it is or where it goes. The danger depends on what happens next. If the file lands somewhere the server will run it, an attacker can gain control of the server. If it is only stored, the impact is smaller. The advisory does not go further than the weakness itself, and neither do we.

The related access control weakness (CWE-284) in the record is a reminder that upload handlers deserve the same checks as any other privileged action: who is calling, what they send, and where it ends up.

The record shows the CISA Known Exploited Vulnerabilities flag as false, and nothing we read reports use in real attacks. The NVD description does say a proof of concept is public, which lowers the effort for anyone who wants to try it. Treat it as exposed if the product is reachable.

Quick check

Is a patch available?

The record says the product is no longer supported by its maintainer, so no fix should be expected. Check the vendor page again before you act, because this can change.

Does this CVE mean attackers are using it now?

Not according to the sources we read. The CISA KEV flag in the record is false. The NVD description does say an exploit is public, so exposure is still worth treating seriously.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.