🚨 CVE-2026-74889
openssl_encrypt versions before 1.4.0 use HKDF with no salt and static info parameter in key normalization functions, reducing entropy extraction and determinism. Attackers can exploit predictable key derivation with identical inputs to weaken cryptographic security against multi-target attacks.
🎖@cveNotify
openssl_encrypt versions before 1.4.0 use HKDF with no salt and static info parameter in key normalization functions, reducing entropy extraction and determinism. Attackers can exploit predictable key derivation with identical inputs to weaken cryptographic security against multi-target attacks.
🎖@cveNotify
GitHub
HKDF key normalization uses no salt with static info parameter
## Severity: HIGH
### Summary
The `normalize_to_key_length_secure` function in `openssl_encrypt/modules/crypt_core.py` at **lines 2082-2088** and the parallel KDF equivalent `_normalize_bytes` in...
### Summary
The `normalize_to_key_length_secure` function in `openssl_encrypt/modules/crypt_core.py` at **lines 2082-2088** and the parallel KDF equivalent `_normalize_bytes` in...
🚨 CVE-2026-74890
openssl_encrypt versions before 1.4.0 contain an authentication bypass vulnerability in CamelliaCipher that disables HMAC tag generation and verification when the PYTEST_CURRENT_TEST environment variable is set. Attackers with code execution can set this environment variable to produce unauthenticated ciphertext and bypass integrity protection on encrypted data.
🎖@cveNotify
openssl_encrypt versions before 1.4.0 contain an authentication bypass vulnerability in CamelliaCipher that disables HMAC tag generation and verification when the PYTEST_CURRENT_TEST environment variable is set. Attackers with code execution can set this environment variable to produce unauthenticated ciphertext and bypass integrity protection on encrypted data.
🎖@cveNotify
GitHub
Camellia test mode disables HMAC authentication via environment variable
## Severity: HIGH
### Summary
The `CamelliaCipher` in `openssl_encrypt/modules/crypt_core.py` detects test mode via `os.environ.get("PYTEST_CURRENT_TEST")` at **line 845**. When in test...
### Summary
The `CamelliaCipher` in `openssl_encrypt/modules/crypt_core.py` detects test mode via `os.environ.get("PYTEST_CURRENT_TEST")` at **line 845**. When in test...
🚨 CVE-2026-74893
openssl_encrypt versions before 1.4.0 contain hardcoded default JWT signing secrets in config.py that pass validation checks. Attackers with access to source code can forge valid JWT tokens for any client_id to gain authenticated access to keyserver and telemetry APIs.
🎖@cveNotify
openssl_encrypt versions before 1.4.0 contain hardcoded default JWT signing secrets in config.py that pass validation checks. Attackers with access to source code can forge valid JWT tokens for any client_id to gain authenticated access to keyserver and telemetry APIs.
🎖@cveNotify
GitHub
Hardcoded default JWT secrets pass validation and enable token forgery
## Severity: CRITICAL
### Summary
The unified server's `config.py` at **lines 178-186** contains hardcoded default JWT signing secrets that pass the startup validation check (>= 32 charact...
### Summary
The unified server's `config.py` at **lines 178-186** contains hardcoded default JWT signing secrets that pass the startup validation check (>= 32 charact...
🚨 CVE-2026-74894
openssl_encrypt before 1.4.0 contains an authentication bypass vulnerability in the verify_api_token function that accepts any non-empty Bearer token string without validation. Attackers can upload arbitrary public keys, enumerate all keys, and revoke keys belonging to any user by providing any Bearer token in the Authorization header.
🎖@cveNotify
openssl_encrypt before 1.4.0 contains an authentication bypass vulnerability in the verify_api_token function that accepts any non-empty Bearer token string without validation. Attackers can upload arbitrary public keys, enumerate all keys, and revoke keys belonging to any user by providing any Bearer token in the Authorization header.
🎖@cveNotify
GitHub
Standalone key server accepts ANY Bearer token as valid authentication
## Severity: CRITICAL
### Summary
The standalone key server's `verify_api_token()` function in `server/key-server/app/api/v1/keys.py` at **lines 48-87** only checks that a non-empty token str...
### Summary
The standalone key server's `verify_api_token()` function in `server/key-server/app/api/v1/keys.py` at **lines 48-87** only checks that a non-empty token str...
🚨 CVE-2026-74895
openssl_encrypt versions before 1.4.0 fail to apply sandbox restrictions in the default process isolation mode for plugin execution. Attackers can execute malicious plugins with unrestricted access to the filesystem, network, subprocess execution, and all Python modules.
🎖@cveNotify
openssl_encrypt versions before 1.4.0 fail to apply sandbox restrictions in the default process isolation mode for plugin execution. Attackers can execute malicious plugins with unrestricted access to the filesystem, network, subprocess execution, and all Python modules.
🎖@cveNotify
GitHub
Process isolation (default mode) applies zero sandbox restrictions to plugins
## Severity: CRITICAL
### Summary
In `openssl_encrypt/modules/plugin_system/plugin_sandbox.py`, the default plugin execution mode (`use_process_isolation=True`) at **lines 702-801** spawns a chil...
### Summary
In `openssl_encrypt/modules/plugin_system/plugin_sandbox.py`, the default plugin execution mode (`use_process_isolation=True`) at **lines 702-801** spawns a chil...
🚨 CVE-2026-74896
openssl_encrypt versions before 1.4.0 contain a sandbox escape vulnerability in the DangerousPatternVisitor AST analyzer that fails to detect dunder attribute traversal techniques. Attackers can use __class__, __bases__, __subclasses__(), and __globals__ chains to access restricted functions and execute arbitrary system commands from plugin code.
🎖@cveNotify
openssl_encrypt versions before 1.4.0 contain a sandbox escape vulnerability in the DangerousPatternVisitor AST analyzer that fails to detect dunder attribute traversal techniques. Attackers can use __class__, __bases__, __subclasses__(), and __globals__ chains to access restricted functions and execute arbitrary system commands from plugin code.
🎖@cveNotify
GitHub
AST analyzer misses dunder attribute traversal sandbox escapes
## Severity: CRITICAL
### Summary
The `DangerousPatternVisitor` in `openssl_encrypt/modules/plugin_system/plugin_ast_analyzer.py` at **lines 41-316** does not detect the primary Python sandbox es...
### Summary
The `DangerousPatternVisitor` in `openssl_encrypt/modules/plugin_system/plugin_ast_analyzer.py` at **lines 41-316** does not detect the primary Python sandbox es...
🚨 CVE-2026-74900
openssl_encrypt versions before 1.4.0 contain a critical vulnerability in pqc.py where KEM decapsulation failures silently fall back to simulation mode, generating a deterministic shared secret from only 16 bytes of the private key and publicly available encapsulated key data. Attackers who obtain 16 bytes of the private key can compute the shared secret and decrypt all ciphertext, as the fallback triggers on any KEM failure without raising an error.
🎖@cveNotify
openssl_encrypt versions before 1.4.0 contain a critical vulnerability in pqc.py where KEM decapsulation failures silently fall back to simulation mode, generating a deterministic shared secret from only 16 bytes of the private key and publicly available encapsulated key data. Attackers who obtain 16 bytes of the private key can compute the shared secret and decrypt all ciphertext, as the fallback triggers on any KEM failure without raising an error.
🎖@cveNotify
GitHub
PQC simulation mode fallback uses weak deterministic shared secret
## Severity: CRITICAL
### Summary
In `openssl_encrypt/modules/pqc.py` at **lines 1046-1138**, if KEM decapsulation fails for any reason, the code silently falls back to a "simulation mode&qu...
### Summary
In `openssl_encrypt/modules/pqc.py` at **lines 1046-1138**, if KEM decapsulation fails for any reason, the code silently falls back to a "simulation mode&qu...
🚨 CVE-2026-75918
phpMyFAQ before 4.1.7 stores password reset tokens in a publicly accessible tracking file when user tracking is enabled. Unauthenticated attackers can read the tracking file at content/core/data/trackingDDMMYYYY to extract reset tokens and replay them against the password reset API to take over user accounts.
🎖@cveNotify
phpMyFAQ before 4.1.7 stores password reset tokens in a publicly accessible tracking file when user tracking is enabled. Unauthenticated attackers can read the tracking file at content/core/data/trackingDDMMYYYY to extract reset tokens and replay them against the password reset API to take over user accounts.
🎖@cveNotify
GitHub
Public Tracking File Leaks Password Reset Tokens to Unauthenticated Users
Hi Thorsten,
I'm reporting an account-takeover issue in phpMyFAQ's user tracking feature. A public tracking file records the full query string for every visited frontend page. Password r...
I'm reporting an account-takeover issue in phpMyFAQ's user tracking feature. A public tracking file records the full query string for every visited frontend page. Password r...
🚨 CVE-2026-76205
phpMyFAQ before 4.1.7 contains a SQL injection vulnerability in the glossary create and update endpoints caused by truncating an escaped string before embedding it in a SQL literal. Authenticated users with glossary add or edit permissions can craft a payload with a dangling backslash to escape the closing quote and inject arbitrary SQL commands to read sensitive database information.
🎖@cveNotify
phpMyFAQ before 4.1.7 contains a SQL injection vulnerability in the glossary create and update endpoints caused by truncating an escaped string before embedding it in a SQL literal. Authenticated users with glossary add or edit permissions can craft a payload with a dangling backslash to escape the closing quote and inject arbitrary SQL commands to read sensitive database information.
🎖@cveNotify
GitHub
SQL Injection via Glossary Escape-Then-Truncate
Hi Thorsten,
I’m reporting a classic SQL injection in phpMyFAQ’s glossary create/update persistence path. The application escapes the glossary item, then truncates the *escaped* string with `sub...
I’m reporting a classic SQL injection in phpMyFAQ’s glossary create/update persistence path. The application escapes the glossary item, then truncates the *escaped* string with `sub...
🚨 CVE-2026-76206
phpMyFAQ versions before 4.1.7 fail to validate active status in the PDF export endpoint, allowing unauthenticated attackers to retrieve draft FAQ metadata. Attackers can access the public PDF export route with sequential FAQ identifiers to obtain titles, solution IDs, author names, and last-update timestamps of inactive or unpublished FAQs.
🎖@cveNotify
phpMyFAQ versions before 4.1.7 fail to validate active status in the PDF export endpoint, allowing unauthenticated attackers to retrieve draft FAQ metadata. Attackers can access the public PDF export route with sequential FAQ identifiers to obtain titles, solution IDs, author names, and last-update timestamps of inactive or unpublished FAQs.
🎖@cveNotify
GitHub
Public PDF export has no active-status gate, so an unauthenticated visitor can retrieve the title, solution id
### Summary
Public PDF export has no active-status gate, so an unauthenticated visitor can retrieve the title, solution id
The public PDF export never checks whether the FAQ is active, so an unau...
Public PDF export has no active-status gate, so an unauthenticated visitor can retrieve the title, solution id
The public PDF export never checks whether the FAQ is active, so an unau...
🚨 CVE-2026-76207
phpMyFAQ before 4.1.7 contains a two-factor authentication bypass vulnerability where remember-me tokens are issued before 2FA verification completes. Attackers with valid credentials can obtain a remember-me cookie, skip the 2FA challenge, and replay the cookie to gain full authenticated access without second-factor verification.
🎖@cveNotify
phpMyFAQ before 4.1.7 contains a two-factor authentication bypass vulnerability where remember-me tokens are issued before 2FA verification completes. Attackers with valid credentials can obtain a remember-me cookie, skip the 2FA challenge, and replay the cookie to gain full authenticated access without second-factor verification.
🎖@cveNotify
GitHub
006 2FA Bypass via Remember-Me Cookie Issued Before Second Factor Verification
### Summary
A logic flaw in the authentication flow allows an attacker with valid credentials to bypass two-factor authentication (2FA) entirely. When a user logs in with "Remember me"...
A logic flaw in the authentication flow allows an attacker with valid credentials to bypass two-factor authentication (2FA) entirely. When a user logs in with "Remember me"...
🚨 CVE-2026-76208
phpMyFAQ versions 3.1.0 through 4.1.6 contain an authentication bypass vulnerability in AuthLdap::create(). When LDAP authentication is enabled, after a successful LDAP bind the code calls User::setStatus('active') unconditionally, which overwrites the account_status column of a pre-existing local account from 'blocked' to 'active'. As a result, a user whose local phpMyFAQ account has been administratively blocked can restore their account and log in by authenticating via LDAP. The state transition is not logged, so administrators cannot detect that the block was overridden. Fixed in 4.1.7.
🎖@cveNotify
phpMyFAQ versions 3.1.0 through 4.1.6 contain an authentication bypass vulnerability in AuthLdap::create(). When LDAP authentication is enabled, after a successful LDAP bind the code calls User::setStatus('active') unconditionally, which overwrites the account_status column of a pre-existing local account from 'blocked' to 'active'. As a result, a user whose local phpMyFAQ account has been administratively blocked can restore their account and log in by authenticating via LDAP. The state transition is not logged, so administrators cannot detect that the block was overridden. Fixed in 4.1.7.
🎖@cveNotify
GitHub
029 LDAP login silently reactivates blocked local accounts without logging the state change
### Summary
When LDAP authentication is enabled, `AuthLdap::create()` calls `User::setStatus('active')` unconditionally after a successful LDAP bind — even when the local phpMyFAQ accoun...
When LDAP authentication is enabled, `AuthLdap::create()` calls `User::setStatus('active')` unconditionally after a successful LDAP bind — even when the local phpMyFAQ accoun...
🚨 CVE-2026-76209
phpMyFAQ versions before v4.1.6 fail to validate the security.enableRegistration setting in API endpoints, allowing attackers to create user accounts when registration is disabled. Attackers can bypass the registration restriction by submitting requests to POST /api/register or POST /api/v3.1/register endpoints, which do not check the configuration flag enforced by the HTML registration page.
🎖@cveNotify
phpMyFAQ versions before v4.1.6 fail to validate the security.enableRegistration setting in API endpoints, allowing attackers to create user accounts when registration is disabled. Attackers can bypass the registration restriction by submitting requests to POST /api/register or POST /api/v3.1/register endpoints, which do not check the configuration flag enforced by the HTML registration page.
🎖@cveNotify
GitHub
Registration Bypass When security.enableRegistration Is Disabled
# Registration Bypass When `security.enableRegistration` Is Disabled
Hi,
I’m reporting an authorization issue that allows new user accounts to be created even when public registration is disa...
Hi,
I’m reporting an authorization issue that allows new user accounts to be created even when public registration is disa...
🚨 CVE-2026-76210
phpMyFAQ before 4.1.6 does not adequately sanitize HTML in FAQ answers before generating PDFs via TCPDF. An attacker with permission to create or edit FAQ content can embed an <img> tag whose src references a local file under the web root's content/ directory (e.g., content/core/config/database.php). When the PDF is generated, phpMyFAQ attempts to read the referenced file; because it is not a valid image the resulting error is converted into an uncaught exception whose stack trace discloses part of the file's contents to any user who triggers the PDF export. By default the disclosed portion is truncated (zend.exception_string_param_max_len), but a larger configured value can result in disclosure of entire files, including database credentials.
🎖@cveNotify
phpMyFAQ before 4.1.6 does not adequately sanitize HTML in FAQ answers before generating PDFs via TCPDF. An attacker with permission to create or edit FAQ content can embed an <img> tag whose src references a local file under the web root's content/ directory (e.g., content/core/config/database.php). When the PDF is generated, phpMyFAQ attempts to read the referenced file; because it is not a valid image the resulting error is converted into an uncaught exception whose stack trace discloses part of the file's contents to any user who triggers the PDF export. By default the disclosed portion is truncated (zend.exception_string_param_max_len), but a larger configured value can result in disclosure of entire files, including database credentials.
🎖@cveNotify
GitHub
Arbitrary Local File Disclosure via PDF Export HTML Image Handling
Hi Thorsten,
It has been a long time :3 ... I’m reporting a high-impact issue in phpMyFAQ’s PDF export functionality that can disclose sensitive files from the server's `content/` directory,...
It has been a long time :3 ... I’m reporting a high-impact issue in phpMyFAQ’s PDF export functionality that can disclose sensitive files from the server's `content/` directory,...
🚨 CVE-2026-76211
phpMyFAQ before 4.1.7 fails to properly enforce CONFIGURATION_EDIT permission on admin API read endpoints for LDAP, Elasticsearch, OpenSearch, and dashboard configuration, allowing any authenticated user to access sensitive administrative data. Attackers can retrieve LDAP server topology, bind account names, search bases, index statistics, and site analytics by calling these endpoints with a valid session.
🎖@cveNotify
phpMyFAQ before 4.1.7 fails to properly enforce CONFIGURATION_EDIT permission on admin API read endpoints for LDAP, Elasticsearch, OpenSearch, and dashboard configuration, allowing any authenticated user to access sensitive administrative data. Attackers can retrieve LDAP server topology, bind account names, search bases, index statistics, and site analytics by calling these endpoints with a valid session.
🎖@cveNotify
GitHub
Admin config-read API endpoints (LDAP, Elasticsearch, OpenSearch, dashboard) are gated by login only, not CONFIGURATION_EDIT
### Summary
Admin config-read API endpoints (LDAP, Elasticsearch, OpenSearch, dashboard) are gated by login only, not CONFIGURATION_EDIT
## Affected versions and vulnerable location
- Conf...
Admin config-read API endpoints (LDAP, Elasticsearch, OpenSearch, dashboard) are gated by login only, not CONFIGURATION_EDIT
## Affected versions and vulnerable location
- Conf...
🚨 CVE-2026-59272
Any application shipping logs to RabbitMQ over TLS via the Log4j2 appender, relying on the documented default, is exposed to man-in-the-middle interception of every log event.
Spring AMQP 4.1.0
Spring AMQP 4.0.0 - 4.0.4
Spring AMQP 3.2.0 - 3.2.12
Spring AMQP 2.4.18 and earlier
🎖@cveNotify
Any application shipping logs to RabbitMQ over TLS via the Log4j2 appender, relying on the documented default, is exposed to man-in-the-middle interception of every log event.
Spring AMQP 4.1.0
Spring AMQP 4.0.0 - 4.0.4
Spring AMQP 3.2.0 - 3.2.12
Spring AMQP 2.4.18 and earlier
🎖@cveNotify
Log4j2 AmqpAppender disables TLS hostname verification by default
Level up your Java code and explore what Spring can do for you.
🚨 CVE-2026-59280
Applications using Spring Framework's FreeMarker integration may be vulnerable to a path traversal attack when a controller returns a view name derived from untrusted input and FreeMarker is configured to resolve templates through SpringTemplateLoader.
Spring Framework 7.0.0 - 7.0.8
Spring Framework 6.2.0 - 6.2.19
Spring Framework 6.1.0 - 6.1.28
Spring Framework 6.0.0 - 6.0.30
Spring Framework 5.3.0 - 5.3.49
Spring Framework 5.2.25.RELEASE and earlier
🎖@cveNotify
Applications using Spring Framework's FreeMarker integration may be vulnerable to a path traversal attack when a controller returns a view name derived from untrusted input and FreeMarker is configured to resolve templates through SpringTemplateLoader.
Spring Framework 7.0.0 - 7.0.8
Spring Framework 6.2.0 - 6.2.19
Spring Framework 6.1.0 - 6.1.28
Spring Framework 6.0.0 - 6.0.30
Spring Framework 5.3.0 - 5.3.49
Spring Framework 5.2.25.RELEASE and earlier
🎖@cveNotify
Spring Framework Path Traversal via Backslash in SpringTemplateLoader
Level up your Java code and explore what Spring can do for you.
🚨 CVE-2026-74901
openssl_encrypt versions before 1.4.0 contain an authentication bypass vulnerability in pqc.py where AES-GCM decryption failures trigger fallback to unauthenticated AES-CTR mode. Attackers can modify ciphertext in transit to bypass integrity verification and perform bit-flipping attacks without detection.
🎖@cveNotify
openssl_encrypt versions before 1.4.0 contain an authentication bypass vulnerability in pqc.py where AES-GCM decryption failures trigger fallback to unauthenticated AES-CTR mode. Attackers can modify ciphertext in transit to bypass integrity verification and perform bit-flipping attacks without detection.
🎖@cveNotify
GitHub
PQC fallback to unauthenticated AES-CTR when GCM fails
## Severity: CRITICAL
### Summary
In `openssl_encrypt/modules/pqc.py` at **lines 1400-1444**, when AES-GCM decryption fails (authentication error), the code falls back to **unauthenticated AES-CT...
### Summary
In `openssl_encrypt/modules/pqc.py` at **lines 1400-1444**, when AES-GCM decryption fails (authentication error), the code falls back to **unauthenticated AES-CT...
🚨 CVE-2026-75919
phpMyFAQ before 4.1.7 contains an authentication bypass vulnerability in SetupController that allows unauthenticated attackers to run database migrations and create configuration backups when maintenance mode is enabled. Attackers can call POST /api/setup/update-database and POST /api/setup/backup endpoints to execute database updates, disable maintenance mode, and extract database credentials from generated ZIP archives.
🎖@cveNotify
phpMyFAQ before 4.1.7 contains an authentication bypass vulnerability in SetupController that allows unauthenticated attackers to run database migrations and create configuration backups when maintenance mode is enabled. Attackers can call POST /api/setup/update-database and POST /api/setup/backup endpoints to execute database updates, disable maintenance mode, and extract database credentials from generated ZIP archives.
🎖@cveNotify
GitHub
Unauthenticated Backup + DB Migration and Maintenance Mode Bypass
# Unauthenticated Setup API: Database Migration and Maintenance Bypass
Hi,
I’m reporting an issue in the setup/update REST endpoints. While the site is in maintenance mode, unauthenticated ca...
Hi,
I’m reporting an issue in the setup/update REST endpoints. While the site is in maintenance mode, unauthenticated ca...
🚨 CVE-2026-75920
phpMyFAQ before v4.1.6 writes content backup ZIP archives to the web-accessible document root at content.zip, exposing sensitive files including database credentials. Unauthenticated attackers can race concurrent requests to download the temporary ZIP file before deletion, or exploit XSS in admin contexts to trigger authenticated backups and retrieve the archive.
🎖@cveNotify
phpMyFAQ before v4.1.6 writes content backup ZIP archives to the web-accessible document root at content.zip, exposing sensitive files including database credentials. Unauthenticated attackers can race concurrent requests to download the temporary ZIP file before deletion, or exploit XSS in admin contexts to trigger authenticated backups and retrieve the archive.
🎖@cveNotify
GitHub
Sensitive Content Backup ZIP Written to Web-Accessible Document Root
Hi Thorsten,
I’m reporting a information disclosure issue in the content backup API. Creating a content backup writes a ZIP archive to `{PMF_ROOT}/content.zip`, which is directly reachable over ...
I’m reporting a information disclosure issue in the content backup API. Creating a content backup writes a ZIP archive to `{PMF_ROOT}/content.zip`, which is directly reachable over ...
🚨 CVE-2026-79938
Dell PowerProtect Cyber Recovery, versions prior to 20.3, contain an Improper Authentication vulnerability. A low privileged attacker with remote access could potentially exploit this vulnerability, leading to Unauthorized access.
🎖@cveNotify
Dell PowerProtect Cyber Recovery, versions prior to 20.3, contain an Improper Authentication vulnerability. A low privileged attacker with remote access could potentially exploit this vulnerability, leading to Unauthorized access.
🎖@cveNotify