exploit August 18, 2026 · 4 min read

Perfex CRM ≤ 3.4.x: Unauthenticated RCE via Migration SQLi and Arbitrary File Upload

The Perfex CRM research repository documents a multi-stage unauthenticated compromise chain affecting versions through 3.4.x. The chain combines an unauthenticated SQL injection in the migration controller with sensitive-token extraction and an unsafe sales-attachment upload path.

Y Yucaerin
Perfex CRM ≤ 3.4.x: Unauthenticated RCE via Migration SQLi and Arbitrary File Upload

Introduction

The Perfex CRM research repository documents a multi-stage unauthenticated compromise chain affecting versions through 3.4.x. The chain combines an unauthenticated SQL injection in the migration controller with sensitive-token extraction and an unsafe sales-attachment upload path.

A public security-research repository documents the technical findings and proof-of-concept material associated with the issue. The discussion below focuses on the security impact, root cause, affected component, and defensive remediation rather than reproducing weaponized exploitation steps.

Vulnerability Overview

The documented chain links several independent weaknesses. A migration parameter can reach SQL statements without adequate parameterization; information obtained through that weakness can undermine account security; and a separate upload helper lacks sufficient extension validation, allowing dangerous server-side files to be stored.

In simplified terms, the security problem looks like this:

Unauthenticated Request
        │
        ▼
Migration SQL Injection
        │
        ▼
Sensitive Authentication Data
        │
        ▼
Account / Access Boundary Broken
        │
        ▼
Unsafe File Upload
        │
        ▼
Potential RCE

The important security principle is that untrusted client input must never be allowed to cross an authentication, authorization, filesystem, or code-execution boundary without strict server-side validation.

Why Is This Vulnerability Serious?

Multi-vulnerability chains can turn individually serious bugs into a complete unauthenticated compromise path. The combination affects both database integrity and server-side file execution.

The potential impact depends on the application's configuration, the privileges of the affected process, and whether vulnerable functionality is exposed to untrusted users.

Root Cause

The chain is rooted in missing SQL parameterization, insufficient protection of authentication-related data, and unrestricted file upload validation.

A secure implementation should independently verify:

  • Authentication and authorization requirements
  • The ownership or scope of the requested object
  • Input type, format, and allowed values
  • Filesystem paths and canonical destinations where applicable
  • File type and content where uploads are involved
  • That privileged operations cannot be selected through client-controlled parameters
  • That sensitive functionality fails closed when validation fails

Affected Versions / Components

The publicly documented affected details are:

Component Details
Product Perfex CRM
Vulnerable versions ≤ 3.4.x
Vulnerability Unauthenticated SQLi + Arbitrary File Upload → RCE
CVE Not assigned in repository

These details are based on the public research repository and, where available, the corresponding NVD record. Administrators should verify the exact installed version and deployment configuration before determining exposure.

Public PoC

The associated repository contains research and proof-of-concept material demonstrating the vulnerability.

For defensive research, proof-of-concept code should only be used in an authorized laboratory environment or against systems for which explicit permission has been granted. Production systems should be tested using harmless validation methods whenever possible.

Security Impact

1. Database manipulation

Database manipulation can become a security concern depending on the deployment and the privileges of the affected component.

2. Authentication compromise

Authentication compromise can become a security concern depending on the deployment and the privileges of the affected component.

3. Arbitrary file upload

Arbitrary file upload can become a security concern depending on the deployment and the privileges of the affected component.

4. Potential remote code execution

Potential remote code execution can become a security concern depending on the deployment and the privileges of the affected component.

5. Full application compromise

Full application compromise can become a security concern depending on the deployment and the privileges of the affected component.

Detection and Mitigation

Administrators should first identify whether the affected component is installed and determine the exact version.

Recommended defensive actions include:

  • Upgrade Perfex CRM to a fixed release when available.
  • Use prepared statements for all database queries.
  • Strictly validate and authorize migration endpoints.
  • Restrict upload extensions and MIME types.
  • Store uploads outside executable web directories.
  • Review logs and credentials for signs of compromise.

Indicators of Compromise

For incident-response purposes, administrators should review application and web-server logs around the affected functionality.

A useful investigation should examine:

Application / Web Logs
        │
        ├── Unusual Requests to Vulnerable Functions
        ├── Unexpected Authentication Events
        ├── Suspicious File Operations
        ├── Unexpected Account / Role Changes
        ├── Recently Modified Files
        └── Unusual Outbound Connections

Log evidence should be correlated with account activity, filesystem changes, deployment history, and application configuration rather than treated as a single definitive indicator.

Conclusion

The Perfex CRM research repository documents a multi-stage unauthenticated compromise chain affecting versions through 3.4.x. The chain combines an unauthenticated SQL injection in the migration controller with sensitive-token extraction and an unsafe sales-attachment upload path.

The main lesson is that security-sensitive functionality must enforce authorization and validation on the server side. Client-controlled identifiers, role values, filenames, MIME types, filesystem paths, and template content should never be trusted simply because they originated from an apparently legitimate application workflow.

For security researchers and developers, this issue provides a useful case study in secure application design, particularly around authorization boundaries, file handling, authentication, input validation, and defense-in-depth.

SOURCE: https://github.com/Yucaerin/Perfex-CRM-3.4.x-Unauthenticated-RCE-via-Migration-SQLi-Arbitrary-File-Upload

References:

  • No separate CVE reference was identified in the public repository.