Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable by low-privilege authenticated users; scope changes to adjacent cloud/internal systems with high confidentiality impact via IMDS credential theft.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
Huginn through 2022.08.18 contains a server-side request forgery vulnerability in the fetch_url method of ScenarioImport that allows authenticated users to make arbitrary HTTP requests by submitting crafted URLs. Attackers can probe internal network services, enumerate ports via error signatures, and access cloud metadata endpoints to retrieve sensitive credentials.
AnalysisAI
Server-side request forgery in Huginn through 2022.08.18 allows any authenticated user to weaponize the ScenarioImport fetch_url method to issue arbitrary outbound HTTP requests from the server. An attacker with low-privilege access can probe internal network topology, enumerate ports via timing and error signatures, and - critically - reach cloud Instance Metadata Service (IMDS) endpoints such as AWS 169.254.169.254 to harvest IAM credentials. No public exploit code or CISA KEV listing has been identified at time of analysis, but the upstream fix (PR #3684) and disclosure by VulnCheck confirm the vulnerability.
Technical ContextAI
Huginn is a self-hosted, Ruby-on-Rails-based automation agent platform analogous to IFTTT or Zapier. The vulnerable code path resides in the ScenarioImport importer, which exposes a fetch_url method for importing agent scenario definitions from remote URLs. CWE-918 (Server-Side Request Forgery) describes the root cause: the application accepts a user-supplied URL and passes it to Net::HTTP without validating the resolved IP address against internal/private network ranges. The fix in PR #3684 introduces a new SafeScenarioUrlFetcher class that performs DNS resolution via Ruby's Resolv library and then checks the returned addresses against a comprehensive blocklist of RFC1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback (127.0.0.0/8), link-local (169.254.0.0/16 - the AWS/GCP IMDS range), CGNAT (100.64.0.0/10), and other reserved IPv4/IPv6 ranges before establishing a connection. The fix also pins the TCP connection to the resolved IP using Net::HTTP's ipaddr parameter, preventing DNS rebinding bypass.
RemediationAI
Upstream fix available via GitHub PR #3684 (https://github.com/huginn/huginn/pull/3684), which introduces the SafeScenarioUrlFetcher class with comprehensive private-IP blocklisting; a specific released and tagged patched version has not been independently confirmed from available data, so operators should apply the patch from the PR directly or monitor the Huginn release channel. The VulnCheck advisory at https://www.vulncheck.com/advisories/huginn-ssrf-via-scenarioimport-fetch-url-method provides additional context. As a compensating control where patching is not immediately possible, operators should apply outbound network egress filtering at the host or container level to block access to RFC1918 ranges, 169.254.0.0/16 (cloud IMDS), and ::1/loopback from the Huginn process - this prevents SSRF lateral movement and metadata theft without modifying application code. On cloud platforms, disabling or requiring IMDSv2 with hop-limit enforcement (AWS: set --http-put-response-hop-limit 1) prevents IMDS access from application-layer SSRF. Restricting Huginn account creation to trusted users reduces the authenticated attacker pool.
Same weakness CWE-918 – Server-Side Request Forgery (SSRF)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-46072
GHSA-9r7r-j892-2c6m