mediumCVSS 6.5Vulnerability

GHSA-4cm8-xpfv-jv6f

### Summary The email channel authorizes senders based on the parsed `From` header identity only. If upstream email authentication/enforcement is weak (for example, relaxed SPF/DKIM/DMARC handling), an attacker can spoof an allowlisted sender address and have the message treated as trusted input. ### Details Relevant code paths: - `src/channels/email_channel.rs:311` extracts sender identity from parsed message headers: - `let from = parsed.from() ... a.address() ...` - `src/channels/email_channel.rs:328` authorizes using that `from` value: - `if !self.is_sender_allowed(&from) { ... }` - `src/channels/email_channel.rs:87` onward (`is_sender_allowed`) performs allowlist/domain matching against the same header-derived value. - There is no in-channel validation of sender authenticity indicators such as SPF/DKIM/DMARC results before allowlist trust decisions. Result: - Trust decision is based on a potentially spoofable header field unless mailbox/provider-side anti-spoofing controls are strong and enforced. ### PoC 1. Configure email channel with strict sender allowlist: - `channels.email.enabled = true` - `channels.email.allowed_senders = ["[email protected]"]` - `channels.email.deny_by_default = true` 2. Ensure the monitored mailbox accepts or forwards a spoofed message (for testing, use a local SMTP path that does not enforce sender authentication strongly). 3. Send an email to the monitored inbox with forged header identity: ```bash python - <<'PY' import smtplib from email.message import EmailMessage msg = EmailMessage() msg["From"] = "[email protected]" # forged trusted sender msg["To"] = "[email protected]" msg["Subject"] = "forged control message" msg.set_content("FORGED EMAIL CONTENT") # Example test SMTP endpoint with smtplib.SMTP("127.0.0.1", 25) as s: s.send_message(msg) PY ``` 4. Wait for IMAP fetch/IDLE processing. 5. Observe the message is accepted as allowlisted sender `[email protected]` and published as inbound channel input.

Properties

ghsa_id
GHSA-4cm8-xpfv-jv6f
severity
medium
summary
ZeptoClaw: Email Sender Spoofing to bypass Header-Only From Allowlist Validation
cvss_score
6.5
cve_id
GHSA-4cm8-xpfv-jv6f
cvss_vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
is_ghsa_only
true
ghsa_published
2026-03-12T16:38:22Z
source_url
https://github.com/advisories/GHSA-4cm8-xpfv-jv6f
ghsa_updated
2026-03-12T16:38:24Z

Related Entities (4)

AFFECTS (1)

[Software]rust/zeptoclaw

HAS_WEAKNESS (2)

[Weakness]Missing Authentication for Critical Function
[Weakness]Insufficient Verification of Data Authenticity

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph