Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-36669-FengOffice — Detailed security advisory for CVE-2026-36669: unauthenticated arbitrary file upload in Feng Office, enabling stored XSS and session hijacking. Includes technical analysis, PoC, and remediation steps. | Kitploit
Tools/GitHubGitHub/firstlax6t/cve-2026-36669-fengoffice
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPapers & ResearchLearning & Education
GitHubfirstlax6t/cve-2026-36669-fengoffice

CVE-2026-36669-FengOffice

Detailed security advisory for CVE-2026-36669: unauthenticated arbitrary file upload in Feng Office, enabling stored XSS and session hijacking. Includes technical analysis, PoC, and remediation steps.

View Repository
361 month agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Security Advisory: CVE-2026-36669

Unauthenticated Arbitrary File Upload in Feng Office Community Edition

An unauthenticated arbitrary file upload vulnerability exists in ck_upload_handler.php in Feng Office Community Edition (version 3.11.13.11). This flaw allows remote, unauthenticated attackers to upload arbitrary files (including malicious .html or .php scripts) to a web-accessible directory. When combined with the lack of administrative cookie protections (HttpOnly), this vulnerability can lead to Stored Cross-Site Scripting (XSS) and administrative session hijacking.


Vulnerability Overview

MetricDetails
CVE IdentifierCVE-2026-36669
Vulnerability TypeUnrestricted Upload of File with Dangerous Type (CWE-434)
Associated WeaknessMissing Authentication for Critical Function (CWE-306)
Affected ProductFeng Office Community Edition
Affected VersionsVersion 3.11.13.11 (and potentially earlier versions)
Exploitation StatusProof of Concept Verified
Remediation StatusUnpatched (Vendor notified, no patch provided within the standard disclosure window)

Technical Analysis

1. Missing Authentication Boundary (CWE-306)

The endpoint ck_upload_handler.php acts as a standalone script. It does not load or inherit the main application's authentication middleware or access control lists (ACL). Consequently, any external request sent directly to this script is treated as authenticated.

2. Inactive Extension Validation (CWE-434)

In the source code of ck_upload_handler.php, the server-side file validation logic (lines 21–25) designed to restrict uploads to specific image formats (.jpg, .png, .gif) has been explicitly commented out:

root@kitploit:~
// $pattern = "/\.(jpg|png|gif)$/i";
// if (!preg_match($pattern,$_FILES['upload']['name'])) {
//     ...
// }

Because this regex constraint is inactive, the file upload mechanism accepts any user-supplied extension.

3. Predictable Path & Direct Execution

The script utilizes the PHP copy() function to write the uploaded files directly into the /tmp/ directory, which is configured to be web-accessible.

4. Downstream Impact: Session Hijacking via Stored XSS

The global configuration file application/config/config.php does not enforce the HttpOnly flag on session cookies. When an attacker uploads an .html file containing client-side script blocks, any administrator who views the file will execute the script within the context of their active session. This allows attackers to silently extract active administrative session tokens.


Proof of Concept (PoC)

Notice: This Proof of Concept is provided for educational and defensive auditing purposes only.

To verify the vulnerability, send a multipart POST request containing a harmless verification file (e.g., test.html) to the endpoint, appending the required CKEditorFuncNum parameter:

Request

root@kitploit:~
curl -i -X POST \
  -F "[email protected]" \
  "http://<target-domain>/ck_upload_handler.php?CKEditorFuncNum=1"

Where test.html contains basic proof-of-concept HTML markup:

root@kitploit:~
<!DOCTYPE html>
<html>
<body>
    <script>
        alert("Vulnerability Verified: " + document.cookie);
    </script>
</body>
</html>

Expected Response

If vulnerable, the server will reply with a 200 OK status and output a JavaScript block indicating the upload path:

root@kitploit:~
<script type="text/javascript">
    window.parent.CKEDITOR.tools.callFunction("1", "/tmp/test.html", "");
</script>

Recommended Remediation

If you run an affected version of Feng Office, apply the following manual hotfixes to secure the file upload endpoint:

1. Implement Authentication Enforcement

Ensure that ck_upload_handler.php checks for active administrative sessions before processing any file upload logic.

2. Re-enable Server-Side File Validation

Uncomment and strictly enforce extension checks. Reject any uploads that do not explicitly match expected non-executable image MIME-types:

root@kitploit:~
$pattern = "/\.(jpg|jpeg|png|gif)$/i";
if (!preg_match($pattern, $_FILES['upload']['name'])) {
    header("HTTP/1.1 403 Forbidden");
    exit("Invalid file type.");
}

3. Enforce HttpOnly Cookies

Modify your PHP configuration or application bootstrap configuration to ensure that session cookies are not accessible via client-side scripting APIs:

root@kitploit:~
session.cookie_httponly = On

Disclosure Timeline

  • February 20, 2026: Initial vulnerability discovery and initial notification sent to the Feng Office support team.
  • March 12, 2026: CVE Identifier requested from MITRE.
  • March 15, 2026: Vendor acknowledges receipt of the report and requests a temporary pause to review the findings.
  • March 29, 2026: MITRE formally assigns CVE-2026-36669. Vendor notified of the official assignment tracking ID; no further update received.
  • June 29, 2026: Final notice sent to the vendor outlining a 14-day standard disclosure release timeline.
  • July 13, 2026: Deadline for coordinated response/patch window expires; no response received.
  • July 15, 2026: Public disclosure of the advisory.

Discoverer

Soufiane LAGZIRI

Download Tool