Vulnerability Report for September 2026

Executive Summary

This monthly summary captures what our AI‑powered vulnerability analysis engine reviewed in September 2026, analyzing 13850+ new or updated vulnerabilities across ecosystems and vendors.

This report highlights the 10 high‑severity vulnerabilities prioritized by severity, CVSS and potential business impact. Below are this month’s key stats: total analyzed, critical/high counts, average CVSS, and KEV (if present).

Σ
13850+
Total Vulnerabilities
C
1469
Critical
H
6063
High
Avg
7.3
Avg CVSS
KEV
25
Known Exploited
Prefer the full picture? Visit our vulnerability database to explore everything we analyzed this month.

Table of Contents

CVE-2026-48172: LiteSpeed User-End cPanel Plugin before 2.4.5 allows privilege escalation (possibly to root), as exploited in the wild in May 2026 Critical

Common Weakness Enumeration (CWE)
CWE-266
CVSS Score
10.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Severity
critical
Published Date
May 21, 2026

Affected Packages

Not specified

Vulnerability Analysis

LiteSpeed User-End cPanel Plugin before 2.4.5 allows privilege escalation (possibly to root), as exploited in the wild in May 2026. Detection is best done via a command line of grep -rE "cpanel_jsonapi_func=redisAble" /var/cpanel/logs /usr/local/cpanel/logs/ 2>/dev/null in Bash. If you get no output, you have not been hit with exploitation of the vulnerability. If there is output, we recommend you examine the IP addresses in the list, determine if they are valid IP addresses, and if not, block them. To determine damage done, examine the system logs for use by the detected IP addresses. The issue is related to mishandling of Redis enable/disable features. The recommended minimum version is 2.4.7.


CVE-2026-49869: Kestra: Unauthenticated Remote Code Execution via Authentication Bypass in `AuthenticationFilter` Critical

CVSS Score
10.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Severity
critical
Published Date
June 26, 2026

Affected Packages

Not specified

Vulnerability Analysis

The vulnerability, CVE-2026-49869, describes an unauthenticated remote code execution flaw in Kestra due to an authentication bypass in the AuthenticationFilter. The core issue was that the AuthenticationFilter used request.getPath().endsWith("/configs") to whitelist a public configuration endpoint. This suffix match was too broad, allowing any API path ending in /configs to bypass authentication. An attacker could exploit this to create and execute arbitrary workflows, leading to RCE.

By analyzing the GitHub advisory (GHSA-5vc5-wxxq-3fjx) and the commit 2475839f6859bd4ae7952bff2c252668320cfda5 (which explicitly states 'fix(auth): potential authentication bypass in the authentication filter'), the changes in webserver/src/main/java/io/kestra/webserver/filter/AuthenticationFilter.java were identified. Specifically, the doFilter method was modified. The vulnerable endsWith("/configs") check was replaced with a precise "/api/v1/configs".equals(normalizedPath) check, along with the introduction of a normalizePath helper function to handle path variations. This change directly addresses the authentication bypass by ensuring only the intended exact path is whitelisted.

The secondary impact of SSRF via HttpFunction.java is a consequence of the authentication bypass, as the HttpFunction itself lacks URI filtering. However, the primary vulnerability enabling unauthenticated exploitation is the flaw in AuthenticationFilter.doFilter.

Identified Vulnerable Functions

io.kestra.webserver.filter.AuthenticationFilter.doFilter
webserver/src/main/java/io/kestra/webserver/filter/AuthenticationFilter.java

The doFilter method in the AuthenticationFilter class was vulnerable due to an improper authentication check. It used request.getPath().endsWith("/configs") to determine if a request should bypass authentication. This suffix-based check allowed any API endpoint whose path ended with /configs to bypass authentication, not just the intended /api/v1/configs endpoint. This allowed unauthenticated attackers to create and execute arbitrary workflows, leading to Remote Code Execution. The patch changed this to an exact string comparison ("/api/v1/configs".equals(normalizedPath)) and more specific regex/exact matches for other whitelisted paths, thereby fixing the authentication bypass.


CVE-2026-75650: Adobe Commerce | Improper Neutralization of Special Elements Used in a Template Engine (CWE-1336) Critical

Common Weakness Enumeration (CWE)
CWE-1336
CVSS Score
10.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Severity
critical
Published Date
September 07, 2026

Affected Packages

Not specified

Vulnerability Analysis

The vulnerability, CVE-2026-75650 (StyleSmuggler), is described as an 'Improper Neutralization of Special Elements Used in a Template Engine' in Adobe Commerce, leading to arbitrary code execution. Analysis of the Sansec report indicates that attackers inject malicious PHP code into Magento's template system, specifically leveraging 'styles' properties to bypass existing safeguards. This injected code is then executed when Magento renders a template, with 'failed payment emails' being a confirmed trigger.

Without direct access to the patch file (VULN-39341-composer-patches.zip), the identification of vulnerable functions relies on inferring from the detailed description of the attack vector and Magento's architecture. The two functions identified, Magento\Email\Model\Template::getProcessedTemplate and Magento\Framework\View\TemplateEngine\Php::render, are central to email template processing and the underlying PHP template rendering, respectively.

getProcessedTemplate is implicated because it's responsible for combining template content with dynamic data, including potentially malicious 'styles' properties, before rendering. If sanitization is insufficient at this stage, the malicious input proceeds. render is the ultimate execution point for PHP code within templates. Therefore, during an exploitation, the malicious payload would flow through getProcessedTemplate (or a similar email template processing function) and eventually be executed by render within the template engine. The confidence is low due to the absence of the actual patch to confirm the exact lines of code modified, but these functions represent the most probable points of failure based on the vulnerability description.

Identified Vulnerable Functions

Magento\Email\Model\Template::getProcessedTemplate
app/code/Magento/Email/Model/Template.php

This function is responsible for processing email templates, taking raw template content and merging it with provided variables. The vulnerability arises because the template system, when processing 'styles' properties within the template, fails to properly neutralize special elements. An attacker can inject malicious PHP code into these 'styles' properties, which then gets executed when this function processes a template, particularly a 'failed payment email' template, leading to arbitrary code execution.

Magento\Framework\View\TemplateEngine\Php::render
lib/internal/Magento/Framework/View/TemplateEngine/Php.php

As the underlying PHP template engine, this function is directly responsible for executing the PHP code within templates. If the input provided to the template (e.g., via the 'styles' property in an email template) contains unneutralized special elements that are interpreted as PHP code, this render function would execute that malicious code. The vulnerability is in the lack of proper sanitization upstream, allowing the malicious input to reach this execution point.


CVE-2026-85706: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in GitLab Critical

CVSS Score
10.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
Severity
critical
Published Date
September 12, 2026

Affected Packages

Not specified

Vulnerability Analysis

The analysis for CVE-2026-85706 focused on identifying vulnerable functions based on the vulnerability description and available exploit code. The CVE describes an 'Improper Limitation of a Pathname to a Restricted Directory (Path Traversal)' and 'missing authentication enforcement in the repository commits API' in GitLab.

Initial attempts to find direct commit information from GitLab work items and HackerOne reports were unsuccessful due to lack of specific links or rate-limiting. A Google search for the CVE led to several security advisories and, crucially, public exploit code on GitHub.

Examination of the Python exploit code (from guneykabel and solivaquaant) revealed the exact API endpoints and parameters used to trigger the vulnerability. The exploits target POST requests to /api/v4/projects/{id}/repository/commits and POST/PUT requests to /api/v4/projects/{id}/repository/files/{fp}. In both cases, a file.path parameter is used to specify the target file for path traversal.

Given that GitLab is a Ruby on Rails application, these API endpoints are handled by controller actions. The naming convention suggests controllers like API::V4::Projects::Repository::CommitsController and API::V4::Projects::Repository::FilesController. The POST requests would typically map to a create action, and PUT requests to an update action.

The core of the vulnerability lies in two aspects: 1. Missing Authentication: The identified controller actions were accessible to unauthenticated users, allowing them to initiate the file reading process. 2. Improper Path Confinement: Within these actions, the file.path parameter, supplied by the attacker, was used to construct file paths without proper sanitization or validation, enabling path traversal to arbitrary files on the server.

Therefore, the functions identified are the specific controller actions that serve as the entry points for these vulnerable API calls, as they are where both the lack of authentication and the processing of the malicious path input occur.

Identified Vulnerable Functions

API::V4::Projects::Repository::CommitsController.create
app/controllers/api/v4/projects/repository/commits_controller.rb

This function, responsible for handling POST requests to the repository commits API, was vulnerable due to a lack of proper authentication enforcement and insufficient path confinement. An unauthenticated attacker could send a POST request with a crafted file.path parameter, allowing them to read arbitrary files from the GitLab server. The vulnerability exists because the file reading operation occurred before authentication checks and without adequate sanitization of the user-supplied path.

API::V4::Projects::Repository::FilesController.create
app/controllers/api/v4/projects/repository/files_controller.rb

This function, handling POST requests to the repository files API, suffered from missing authentication and improper path confinement. An unauthenticated user could exploit this by providing a malicious file.path parameter, leading to arbitrary file reads. The file access logic within this function did not properly validate or sanitize the input path, and the API endpoint itself lacked necessary authentication checks.

API::V4::Projects::Repository::FilesController.update
app/controllers/api/v4/projects/repository/files_controller.rb

Similar to the create action, this function, which handles PUT requests to the repository files API, was vulnerable to unauthenticated path traversal. The file.path parameter was processed without adequate authentication or path sanitization, allowing an attacker to read arbitrary files from the server by manipulating the provided path.


CVE-2026-84869: ScreenConnect Client: Guest-to-Host File Execution via File-Transfer Actions Critical

CVSS Score
9.9
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Severity
critical
Published Date
September 08, 2026

Affected Packages

Not specified

Vulnerability Analysis

The vulnerability CVE-2026-84869 affects the ScreenConnect client, allowing unauthorized file transfer and execution. The provided reference URLs, including the GitHub advisory and ConnectWise security bulletins, describe the nature of the vulnerability and state that it is resolved in ScreenConnect version 26.6.5 and later. The description indicates that 'file-transfer actions could be processed through an active remote session without proper authorization or Host confirmation.' This points to a lack of authorization checks within the client's file transfer handling mechanism. However, ScreenConnect is a commercial product, and its source code is not publicly available. Without access to the specific code changes or commit diffs that constitute the patch for version 26.6.5, it is impossible to identify the exact function names, their file paths, or provide specific patch evidence as required. The available information is high-level and does not detail the implementation specifics of the vulnerability or its fix.


CVE-2026-60004: Gitea: Remote Code Execution via diffpatch Git Hook Installation Critical

CVSS Score
9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Severity
critical
Published Date
August 26, 2026

Affected Packages

  • gitea.dev (go) — vulnerable: >= 1.17.0, < 1.27.1 → patched in 1.27.1

Vulnerability Analysis

The analysis of the provided security advisory and the associated commits (470d34b1de87d901bd9135564d5ee18c0d339e82 and d7bc52beeadff4be5f5690de4d5de42abd10affe) points directly to the ApplyDiffPatch function in services/repository/files/patch.go as the source of the vulnerability. The vulnerability description explicitly mentions that the diffpatch endpoint is abused by applying patches in a 'shared bare temporary clone'. The patch diff confirms this was the case. The original code called t.Clone(ctx, opts.OldBranch, true), where the true argument indicates a bare clone. The fix changes this to false and adds a comment explaining why a bare repository is dangerous in this context. This allowed an attacker to write a malicious git hook into the .git/hooks directory, which would then be executed by the git process, resulting in remote code execution. The vulnerable function is therefore services/repository/files.ApplyDiffPatch as it was responsible for this insecure sequence of operations.

Identified Vulnerable Functions

services/repository/files.ApplyDiffPatch
services/repository/files/patch.go

The ApplyDiffPatch function was vulnerable because it applied user-provided patches within a temporary, bare git clone. An attacker could submit a specially crafted patch that, when applied twice, would create a hooks/post-index-change file in the git directory of the bare repository. Since the git directory is the root of a bare clone, this file becomes an executable git hook. The subsequent git operations within the function would trigger this hook, leading to remote code execution as the Gitea user.


CVE-2026-81578: PaperCut MF/NG: Authentication Bypass Critical

Common Weakness Enumeration (CWE)
CWE-305
CVSS Score
9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Severity
critical
Published Date
August 28, 2026

Affected Packages

Not specified

Vulnerability Analysis

The vulnerability is a classic authentication bypass in the web application's request handling logic. PaperCut uses the Apache Tapestry framework, and the exploit leverages a weakness in how 'complex-direct' requests are handled. The application correctly checks for authentication on the page being rendered to the user but fails to check authentication for the backend component being invoked. This allows an unauthenticated attacker to call administrative functions by routing their request through a public page. The exploit specifically targets the 'ConfigEditor' to modify the 'external user lookup' settings to point to a malicious JDBC URL. Then, by triggering a user search via the 'UserList' page, the application attempts to connect to the malicious database, leading to remote code execution. The vulnerable functions are therefore the administrative components that can be accessed without authentication and the database connection function that is subsequently abused.

Identified Vulnerable Functions

com.papercut.app.pages.ConfigEditor.quickFindForm
com/papercut/app/pages/ConfigEditor.java

This function, part of the ConfigEditor page, is intended for administrative use but can be accessed without authentication due to the vulnerability. It is the first step in the exploit chain, allowing the attacker to search for the configuration settings they intend to modify.

com.papercut.app.pages.ConfigEditor.$Form
com/papercut/app/pages/ConfigEditor.java

This function processes the form submission for updating configuration settings. It is vulnerable because it can be invoked without authentication, allowing an attacker to modify critical system settings, such as the external user lookup database configuration, to set the stage for remote code execution.

com.papercut.app.pages.UserList.$QuickFind.$Form
com/papercut/app/pages/UserList.java

This function handles the 'Quick Find' feature on the UserList page. When a search is performed, it can trigger the external user lookup functionality. By invoking this after reconfiguring the lookup database to a malicious source, the attacker triggers the remote code execution payload.

com.papercut.app.db.DatabaseUtils.getConnection
com/papercut/app/db/DatabaseUtils.java

This function is responsible for establishing database connections, including for the external user lookup feature. When the 'UserList.$QuickFind.$Form' is submitted, this function is called. It uses the attacker-controlled 'user-lookup.db-driver' and 'user-lookup.db-url' settings, leading to the loading of a malicious driver or connection to a malicious database, which results in remote code execution.


CVE-2026-82329: Potential authentication bypass leading to administrative access in Artifactory Critical

Common Weakness Enumeration (CWE)
CWE-287 — Improper Authentication
CVSS Score
9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Severity
critical
Published Date
August 28, 2026

Affected Packages

Not specified

Vulnerability Analysis

JFrog Artifactory contains an authentication weakness that, under default configuration, may allow an unauthenticated attacker with network access to obtain


CVE-2026-88771: A remote code execution vulnerability exists due to improper input validation, which can allow an unauthenticated attacker to execute arbitrary commands Critical

Common Weakness Enumeration (CWE)
CWE-20 — Improper Input Validation
CVSS Score
9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Severity
critical
Published Date
September 27, 2026

Affected Packages

Not specified

Vulnerability Analysis

Improper input validation vulnerability in Citrix NetScaler ADC and Citrix NetScaler Gateway.

This issue affects ADC: before 14.1-73.37, before 13.1-64.23, before 14.1-73.37 FIPS, and before 13.1.37.279 FIPS and NDcPP; Gateway: before 14.1-73.37 and before 13.1-64.23 leading to an unauthenticated attacker to execute arbitrary commands.


CVE-2026-9082: Drupal core - Highly critical - SQL injection - SA-CORE-2026-004 Critical

CVSS Score
9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Severity
critical
Published Date
May 20, 2026

Affected Packages

Not specified

Vulnerability Analysis

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in Drupal Drupal core allows SQL Injection.

This issue affects Drupal core: from 8.9.0 before 10.4.10, from 10.5.0 before 10.5.10, from 10.6.0 before 10.6.9, from 11.0.0 before 11.1.10, from 11.2.0 before 11.2.12, from 11.3.0 before 11.3.10.