/

CVE-2026-67598

Severity:

HIGH RISK

(7.4)

Disabled TLS Cert Validation (CWE-295) in Emlog Pro AI

CVE-2026-67598

Received

Vulnerability type

Category:

Improper Certificate Validation

CWE:

CWE-295

Impact:

Man-in-the-Middle, Credential Theft, Response Tampering

Severity:

HIGH RISK

(7.4)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Emlog Pro through 2.6.23 disables TLS certificate verification for outbound HTTPS requests from its AI service to configured LLM providers.

Network-adjacent attackers who can intercept traffic may perform man-in-the-middle attacks to steal API keys and inject crafted AI responses that the application could treat as trusted tool-call instructions.

Affected context

The vulnerability resides in the AI integration layer of Emlog Pro, specifically in include/service/ai.php, which handles outbound HTTPS requests to external LLM providers.

It affects deployments where the application can reach LLM endpoints over the network and where an attacker can observe or interfere with network traffic between the Emlog Pro host and those providers (for example, on the same LAN, Wi‑Fi network, or upstream gateway).

Risk increases when the AI responses are wired into automated behaviors such as query_database and update_config tool handlers that act on returned content without strong origin assurances.

Exploit preconditions

  • Attack surface: Outbound HTTPS connections from Emlog Pro's AI service to configured LLM provider endpoints.
  • Required access: Network-adjacent position with the ability to intercept, route, or proxy traffic (e.g., ARP spoofing, rogue access point, or compromised gateway).
  • Trigger point: Any AI-related operation that invokes sendStream(), sendImageRequest(), send(), or fetchSearchHtml() in ai.php.
  • Why exploitation is possible: TLS peer and hostname verification are unconditionally disabled (CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST set to false), so the client accepts attacker-controlled certificates for supposedly secure HTTPS endpoints, enabling transparent man-in-the-middle of all AI traffic.

Why this happens

The root cause is improper TLS certificate validation, mapping to CWE-295: Improper Certificate Validation.

The AI client code explicitly disables both server certificate verification and hostname checking for all outbound HTTPS requests, removing the core guarantee that the remote endpoint is genuine and that the channel is cryptographically authenticated.

This insecure pattern turns HTTPS into effectively unauthenticated, encryption-only transport where any network-adjacent adversary who can inject or redirect traffic can impersonate the LLM provider and observe or modify all exchanged data.

Potential impact

  • Network attackers can capture Authorization Bearer API keys and other sensitive headers used to access LLM providers.
  • Adversaries may inject crafted AI responses that the application treats as trusted, influencing downstream tool-call behavior.
  • Automated tool handlers such as query_database could be driven to exfiltrate or modify application data based on attacker-controlled prompts.
  • The update_config tool handler can potentially be coerced into altering application or AI configuration in unsafe ways.
  • Compromise of AI-related audit logs or content flows, leading to data exposure or integrity loss.

General mitigation guidance

Effective mitigation focuses on restoring strong TLS validation and reducing the blast radius of AI-driven automation.

General defensive patterns include:

  • Ensuring HTTPS clients validate server certificates and hostnames by default and avoiding disabling verification flags except in tightly controlled development scenarios.
  • Centralizing TLS configuration so that individual call sites cannot silently disable verification, and using secure defaults that are hard to override.
  • Limiting the privileges and capabilities of AI-driven tool handlers, particularly those that can modify configuration or query sensitive data.
  • Applying strong allowlisting for outbound AI endpoints and avoiding dynamic redirection to arbitrary hosts, especially when responses influence automated actions.
  • Segregating API credentials for AI providers, using least-privilege keys and scoping them to minimally necessary capabilities.

How teams detect issues like this

To detect similar issues, organizations can:

  • Use static analysis or linters to flag explicit disabling of TLS verification options (e.g., CURLOPT_SSL_VERIFYPEER set to false, CURLOPT_SSL_VERIFYHOST set to 0 or false).
  • Incorporate security-focused code review checklists that call out TLS configuration, especially in HTTP client wrappers and shared networking utilities.
  • Apply configuration or policy-as-code rules (for example in CI) that disallow insecure SSL options in production builds.
  • Monitor runtime traffic egress from application servers to ensure TLS sessions are properly established and that unexpected intermediaries (e.g., unauthorized proxies) are not terminating HTTPS connections.

Sources

SourceLink
github.comgithub.com/emlog/emlog/security/advisories/GHSA-hf85-99vj-m4c5
vulncheck.comvulncheck.com/advisories/emlog-pro-tls-certificate-validation-disabled-in-ai-php

Frequently asked

questions

Exploitation typically requires a network-adjacent position, such as being on the same local network or controlling an upstream gateway or proxy. An attacker must be able to intercept or redirect traffic between Emlog Pro and the LLM provider.

No application credentials are required. The attacker needs only network-level access sufficient to perform man-in-the-middle interception on outbound HTTPS connections from the Emlog Pro host.

Re-enable strict TLS certificate and hostname verification for all HTTPS requests in the AI client, and centralize HTTPS configuration so that verification cannot be disabled per-call. Combine this with least-privilege handling of AI API keys and careful scoping of automated tool actions.

Establish a policy that prohibits disabling TLS verification in production code, enforce it via static analysis and code review, and provide secure HTTP client abstractions with verification enabled by default. Additionally, design AI integration flows so that responses are validated, constrained, and subject to least-privilege enforcement before triggering tool-call execution.

Find out what's already
exploitable in your codebase.