CVE-2026-28675 Overview
CVE-2026-28675 is an Information Disclosure vulnerability affecting OpenSift, an AI study tool that processes large datasets using semantic search and generative AI. Prior to version 1.6.3-alpha, the application exposed sensitive information through multiple vectors: raw exception strings were returned to clients via API endpoints, and login token material was inadvertently exposed in UI/rendered responses as well as token rotation output. This type of information leakage can provide attackers with valuable reconnaissance data about the application's internal architecture, authentication mechanisms, and potential attack surfaces.
Critical Impact
Attackers can leverage exposed exception strings and token material to gain insights into application internals, potentially facilitating further attacks including authentication bypass or session hijacking.
Affected Products
- OpenSift versions prior to 1.6.3-alpha
- OpenSift AI study tool with semantic search functionality
- OpenSift installations with exposed API endpoints
Discovery Timeline
- 2026-03-06 - CVE-2026-28675 published to NVD
- 2026-03-09 - Last updated in NVD database
Technical Details for CVE-2026-28675
Vulnerability Analysis
This vulnerability falls under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). The core issue stems from improper error handling and insecure information exposure practices within the OpenSift application. When exceptions occurred during API request processing, the application returned raw exception strings directly to clients rather than sanitized, generic error messages. This practice exposes internal implementation details including stack traces, file paths, database query structures, and potentially sensitive configuration information.
Additionally, login token material—which should remain strictly server-side or securely stored—was being rendered in UI responses and exposed during token rotation operations. This token leakage could enable session hijacking or unauthorized access if an attacker intercepts or observes these responses.
The vulnerability is exploitable over the network without requiring authentication, making it accessible to any attacker who can reach the application's endpoints.
Root Cause
The root cause of this vulnerability is twofold: inadequate exception handling that propagated internal error details to client responses, and improper token management that included sensitive authentication material in rendered output. The application lacked proper sanitization layers between internal error states and client-facing responses, violating the principle of minimal information disclosure.
Attack Vector
An attacker can exploit this vulnerability by sending crafted requests to OpenSift API endpoints designed to trigger error conditions. When exceptions occur, the raw exception strings returned in responses may reveal:
- Internal file paths and directory structures
- Database schema or query information
- Third-party library versions and configurations
- Authentication flow details
For the token exposure aspect, an attacker observing network traffic or with access to rendered responses could capture login token material, potentially enabling session impersonation or replay attacks.
# Security patch in backend/app/ingest.py - hardening URL ingest validation
# Source: https://github.com/OpenSift/OpenSift/commit/1126e0a503876056a68a434e19f64158a5a4840b
raise RuntimeError("Only http/https URLs are allowed.")
if not parsed.hostname:
raise RuntimeError("URL must include a hostname.")
+ if parsed.username or parsed.password:
+ raise RuntimeError("URLs with embedded credentials are not allowed.")
+ if parsed.port and parsed.port not in (80, 443):
+ raise RuntimeError("Only standard ports 80/443 are allowed for URL ingest.")
if _is_blocked_host_label(parsed.hostname):
raise RuntimeError("Local hostnames are blocked for URL ingest.")
The patch demonstrates additional hardening to prevent embedded credential exposure in URLs and restricts ports to standard HTTP/HTTPS ports, reducing attack surface.
Detection Methods for CVE-2026-28675
Indicators of Compromise
- Unusual volume of error responses from OpenSift API endpoints
- HTTP responses containing stack traces, internal file paths, or exception class names
- Network traffic containing exposed token material in response bodies
- Log entries showing repeated failed requests designed to trigger exceptions
Detection Strategies
- Implement application-layer monitoring to detect verbose error messages in HTTP responses containing keywords like "Traceback", "Exception", or file path patterns
- Configure web application firewalls (WAF) to flag responses containing potential information disclosure patterns
- Monitor authentication logs for token rotation events that may indicate token interception attempts
- Deploy network traffic analysis to identify responses containing sensitive patterns like JWT tokens or session identifiers in unexpected locations
Monitoring Recommendations
- Enable detailed logging for all API endpoints and monitor for error response patterns
- Implement real-time alerting on authentication anomalies that may indicate token compromise
- Review application logs for exception patterns that could indicate exploitation attempts
- Establish baseline metrics for error rates to detect scanning or probing activity
How to Mitigate CVE-2026-28675
Immediate Actions Required
- Upgrade OpenSift to version 1.6.3-alpha or later immediately
- Review application logs for evidence of information disclosure exploitation
- Rotate all authentication tokens and session credentials as a precautionary measure
- Implement network-level controls to restrict access to OpenSift endpoints if immediate patching is not possible
Patch Information
The vulnerability has been patched in OpenSift version 1.6.3-alpha. The security fixes include comprehensive error handling hardening and remediation of token exposure issues. Detailed patch information is available in the GitHub Security Advisory GHSA-667g-rvcj-w976 and the v1.6.3-alpha release. The specific changes can be reviewed in Pull Request #67.
Workarounds
- Deploy a reverse proxy or WAF to sanitize error responses before they reach clients
- Implement custom error handlers at the application boundary to intercept and sanitize exception messages
- Restrict network access to OpenSift endpoints to trusted IP ranges only
- Enable TLS encryption for all communications to reduce token interception risk during transit
# Configuration example - Nginx reverse proxy to sanitize error responses
# Add to nginx server block configuration
location /api/ {
proxy_pass http://opensift_backend;
proxy_intercept_errors on;
error_page 500 502 503 504 /custom_error.json;
# Strip potentially sensitive headers
proxy_hide_header X-Powered-By;
proxy_hide_header Server;
}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


