CVE ReportsCVE-2026-61439: Prompt Injection Defense Bypass in PraisonAI InjectionDefense...
Vulnerability ID: CVE-2026-61439
CVSS Score: 7.5
Published: 2026-10-07
This report provides a comprehensive technical analysis of CVE-2026-61439 (GHSA-fj8f-m44g-c479), a prompt injection defense bypass vulnerability in the PraisonAI multi-agent framework. In versions prior to 4.6.78, the InjectionDefense scanner threshold defaulted to CRITICAL. This allowed single-vector prompt injections classified as HIGH severity (e.g., direct instruction overrides or financial manipulations) to pass through unblocked, enabling attackers to extract system prompts and execute unauthorized agent tools.
PraisonAI versions before 4.6.78 contain an insecure default configuration in the InjectionDefense component, allowing high-severity prompt injections to bypass active blocking controls.
4.6.78)Fix default block threshold in prompt injection defense to HIGH severity
diff --git a/src/praisonai/praisonai/security/injection.py b/src/praisonai/praisonai/security/injection.py
index 9d7f9a79cf..ce7acca988 100644
--- a/src/praisonai/praisonai/security/injection.py
+++ b/src/praisonai/praisonai/security/injection.py
@@ -233,7 +233,7 @@ def scan_text(text: str, source: str = "external") -> ScanResult:
level = ThreatLevel.CRITICAL
# Trusted sources are never blocked regardless of level
- blocked = (level >= ThreatLevel.CRITICAL) and not is_trusted
+ blocked = (level >= ThreatLevel.HIGH) and not is_trusted
if triggered:
logger.warning(
@@ -270,14 +270,14 @@ class InjectionDefense:
def __init__(
self,
extra_patterns: Optional[List[str]] = None,
- block_threshold: ThreatLevel = ThreatLevel.CRITICAL,
+ block_threshold: ThreatLevel = ThreatLevel.HIGH,
trusted_sources: Optional[List[str]] = None,
):
"""
Args:
extra_patterns: Additional regex patterns to include in Check 1.
block_threshold: Minimum threat level that causes blocking.
- Default: CRITICAL (only block if 3+ checks fire).
+ Default: HIGH (block single high-severity detections).
trusted_sources: Source names that bypass blocking.
"""
self._extra_patterns = extra_patterns or []
Remediation Steps:
Read the full report for CVE-2026-61439 on our website for more details including interactive diagrams and full exploit analysis.