CVE-2026-38979
Deferred Deferred - Pending Action

Clickjacking Vulnerability in Ajenti Admin Panel

Vulnerability report for CVE-2026-38979, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-06

Last updated on: 2026-07-09

Assigner: MITRE

Description

ajenti through v2.2.13 has a clickjacking weakness in the browser-facing login and administrative UI. In ajenti-core/aj/http.py, the core HTTP response path initializes an empty header list, forwards handler-added headers verbatim, and finalizes responses through WSGI start_response() without adding anti-framing protections such as X-Frame-Options or a Content-Security-Policy frame-ancestors restriction.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-06
Last Modified
2026-07-09
Generated
2026-07-27
AI Q&A
2026-07-07
EPSS Evaluated
2026-07-25
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
ajenti ajenti to 2.2.13 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-1021 The web application does not restrict or incorrectly restricts frame objects or UI layers that belong to another application or domain, which can lead to user confusion about which interface the user is interacting with.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a clickjacking weakness found in ajenti versions up to 2.2.13. It occurs in the browser-facing login and administrative user interface. The core HTTP response handling in ajenti does not include anti-framing protections such as the X-Frame-Options header or Content-Security-Policy frame-ancestors restrictions. As a result, attackers can potentially trick users into interacting with the ajenti interface through hidden or disguised frames on malicious websites.

Detection Guidance

This vulnerability can be detected by checking if the HTTP responses from the Ajenti server lack anti-framing headers such as 'X-Frame-Options' and 'Content-Security-Policy' with frame-ancestors directives.

You can use commands like curl to inspect the HTTP headers returned by the Ajenti login or administrative UI endpoints.

  • curl -I http://your-ajenti-server/login
  • curl -I http://your-ajenti-server/admin

Look for the absence of headers such as 'X-Frame-Options' or 'Content-Security-Policy' with frame-ancestors directives in the response headers, which indicates the presence of the vulnerability.

Impact Analysis

The impact of this vulnerability is that an attacker could use clickjacking techniques to deceive users into performing unintended actions on the ajenti administrative interface. This could lead to unauthorized changes or access if an authenticated user is tricked into clicking on hidden controls, potentially compromising system security or administrative functions.

Compliance Impact

The vulnerability in ajenti through v2.2.13 involves a clickjacking weakness due to missing anti-framing protections such as X-Frame-Options or Content-Security-Policy frame-ancestors restrictions in the HTTP response headers.

While the provided context does not explicitly mention compliance with standards like GDPR or HIPAA, the lack of these security headers can increase the risk of unauthorized UI interactions, potentially leading to unauthorized access or actions.

Such security weaknesses could indirectly affect compliance with regulations that require protection of user data and secure user interfaces, as clickjacking attacks can be used to trick users into performing unintended actions, possibly exposing sensitive information.

Mitigation Strategies

To mitigate this clickjacking vulnerability, ensure that the Ajenti server includes anti-framing security headers in its HTTP responses.

Specifically, configure or update Ajenti to add the 'X-Frame-Options' header with the value 'DENY' and the 'Content-Security-Policy' header with the directive 'frame-ancestors 'self'' to prevent unauthorized framing.

This can be achieved by applying the patch or update that modifies the ajenti-core/aj/http.py file to include these headers in the response, as shown in the commit e54e838.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-38979. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart