Skip to main content

Helium Platform CVE-2026-55875

| EUVDEUVD-2026-102222 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-15 GitHub_M
4.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as Helium user
  2. Exploit
    Submit internal/external URL to /feed/externalcalendars/
  3. Execution
    Server fetches attacker-chosen host
  4. Impact
    Enumerate internal services via response differences

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated Helium account (PR:L) able to call POST /feed/externalcalendars/ and store an external calendar URL; no special product feature toggle is needed because the vulnerable code path (validate_url checking only syntax, then urllib.request.urlopen in icalexternalcalendarservice.py) is the default external-calendar behavior. Exploitation is amplified by fetch_ical_conditional, which periodically refetches the stored URL, giving repeatable server-side requests. The primary limiting factor is the authentication requirement - the attacker must be a registered/valid user of the target instance; impact is further limited to outbound request forgery and internal reconnaissance (host/port reachability) rather than confirmed data exfiltration, per the advisory.

Impact

This is a moderate-severity, authenticated SSRF (CWE-918) with a vendor-aligned CVSS of 4.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N). The signals are internally consistent and point to a real-but-limited issue rather than an emergency. The attack vector is network and complexity is low, but PR:L means a valid authenticated account is required, which meaningfully constrains the attacker population to registered users of a given Helium instance. The impact is scoped to confidentiality-low (C:L): the advisory itself is explicit that it demonstrates only forced outbound requests and internal host/port reconnaissance (via distinct responses and an uncaught http.client.RemoteDisconnected for non-HTTP services), and deliberately does NOT claim secret retrieval because the ECS credentials path is task-specific and unpredictable. No KEV listing and no public exploit code are indicated in the input, so exploitation status is 'no public exploit identified at time of analysis'. EPSS is not provided, so exploitation probability cannot be quantified from this data. SSVC inputs (exploitation/automatable/technical impact) were not supplied. Net: treat as a routine-priority patch - genuine SSRF reachable by any authenticated user, but low technical impact and no evidence of active exploitation or weaponization.

Exploit ScenarioDerived

An attacker who has registered or compromised any Helium user account submits a crafted URL (e.g. http://169.254.169.254/ or an internal host:port) to POST /feed/externalcalendars/; because validate_url only checks syntax, the server fetches it via urllib.request.urlopen and periodically re-fetches it. By observing differential responses and the RemoteDisconnected error on non-HTTP ports, the attacker maps internal services and reachable hosts behind the application. No public exploit code is identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 15, 2026

Server-side request forgery in Helium Platform before 2.2.60 lets any authenticated user force the server to issue outbound HTTP requests to arbitrary internal or external hosts by storing a crafted URL as an external calendar feed, enabling host and port reconnaissance through response differences and unhandled RemoteDisconnected errors. The vulnerable path is the default external-calendar feature, and the periodic refetch in fetch_ical_conditional makes the requests repeatable, though the advisory confirms only forced outbound requests and internal reachability-not secret exfiltration. Authentication is required (CVSS PR:L) and no public exploit has been identified at time of analysis; the vendor-aligned CVSS is 4.3.

RemediationAI

Vendor-released patch: upgrade to Helium Platform 2.2.60 (commit f0de5c985c701942758b805a3d11dfb008a6af88), which adds SSRF checks that resolve the hostname and block private, loopback, link-local, reserved, and multicast IPs, re-validates redirect targets, and normalizes http.client exceptions. If immediate upgrade is not possible, apply network-level egress filtering so the application server cannot reach internal RFC1918 ranges, loopback, link-local, and cloud metadata endpoints such as 169.254.169.254; this mitigates SSRF reachability but the trade-off is that misconfigured egress rules can break legitimate external calendar syncing, and the platform will still issue requests to allowed external calendar URLs. Vendor advisory: https://github.com/HeliumEdu/platform/security/advisories/GHSA-2f83-94pv-v3f5.

Affected VersionsENISA

platform < 2.2.60

Affected Packages

euvd platform fix: 2.2.60

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-918 (SSRF): helium/feed/services/icalexternalcalendarservice.py validated user-supplied calendar URLs with validate_url, which only checked URL syntax before passing the value to urllib.request.urlopen. Because the application stores the URL and fetch_ical_conditional periodically refetches it, the server makes recurring requests to attacker-selected destinations, and distinct responses (including an uncaught http.client.RemoteDisconnected for non-HTTP services) reveal whether internal hosts and ports are reachable. The fix in commit f0de5c98 introduces helium/common/utils/httputils.py with _check_ssrf, which resolves the hostname and rejects private, loopback, link-local, reserved, or multicast IPs, a _SecureRedirectHandler that re-validates redirect targets, and urlopen_secure that also normalizes http.client.HTTPException (including RemoteDisconnected) to URLError. The same commit adds extension and MIME-type blocklists in conf/configs/common.py and replaces the raw urlopen call in the SES webhook subscription-confirmation path.

Know when Platform gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

Any authenticated user can trigger it remotely (AV:N/AC:L/PR:L/UI:N); impact is limited to internal reconnaissance disclosure (C:L) with no integrity or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Oct 15, 2026 - 19:18 EUVD

DescriptionCVE.org

Helium is a free online student planner for classes, homework, grades, and notes. Prior to 2.2.60, any authenticated user can submit an arbitrary URL to POST /feed/externalcalendars/, where helium/feed/services/icalexternalcalendarservice.py uses validate_url to check only URL syntax before passing the value to urllib.request.urlopen, and fetch_ical_conditional periodically refetches the stored URL. The server can therefore issue requests to attacker-selected external or internal hosts, while distinct responses, including an uncaught http.client.RemoteDisconnected condition for non-HTTP services, reveal internal host and port reachability. The supported impact is forced outbound requests and internal service reconnaissance; the advisory does not demonstrate secret retrieval because the relevant ECS credentials path is task-specific and unpredictable. This issue is fixed in version 2.2.60.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Rare
free open-source student planner, tiny niche deployment footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

CVE-2026-56769 MEDIUM POC
6.3 Jun 25

Server-side request forgery in Huly Platform's /import endpoint allows authenticated workspace users to coerce the front

CVE-2023-45162 CRITICAL
9.8 Oct 13

Affected 1E Platform versions have a Blind SQL Injection vulnerability that can lead to arbitrary code execution. Rated

CVE-2023-36825 CRITICAL
9.8 Jul 11

Orchid is a Laravel package that allows application development of back-office applications, admin/user panels, and dash

CVE-2020-8775 HIGH
8.9 Apr 29

Pega Platform before version 8.2.6 is affected by a Stored Cross-Site Scripting (XSS) vulnerability in the comment tags.

CVE-2020-8773 HIGH
8.9 Apr 29

The Richtext Editor in Pega Platform before 8.2.6 is affected by a Stored Cross-Site Scripting (XSS) vulnerability. Rate

CVE-2026-5373 HIGH
8.1 Apr 07

Improper privilege management in runZero Platform allows organization administrators to escalate privileges to superuser

CVE-2025-1683 HIGH
7.8 Mar 12

Improper link resolution before file access in the Nomad module of the 1E Client, in versions prior to 25.3, enables an

CVE-2025-57210 HIGH
7.5 Dec 04

Incorrect access control in the component ApiPayController.java of platform v1.0.0 allows attackers to access sensitive

CVE-2025-57213 HIGH
7.5 Dec 04

Incorrect access control in the component orderService.queryObject of platform v1.0.0 allows attackers to access sensiti

CVE-2025-57212 HIGH
7.5 Dec 04

Incorrect access control in the component ApiOrderService.java of platform v1.0.0 allows attackers to access sensitive i

CVE-2023-5964 HIGH
7.2 Nov 06

The 1E-Exchange-DisplayMessageinstruction that is part of the End-User Interaction product pack available on the 1E Exch

CVE-2023-45163 HIGH
7.2 Nov 06

The 1E-Exchange-CommandLinePing instruction that is part of the Network product pack available on the 1E Exchange does n

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy