VORANT. Threat Intelligence Research Sign in Create a free account

Parsons AccuWeather Widget XSS vulnerability in ICS systems

routine vulnerability infrastructureenergytelecommunications

Free public brief. The indicators, the detections with Splunk SPL already written (plus Elastic and KQL where they apply), and a Slack alert the next time this touches a vendor you run are in the app — free account, no card.

Cross-site scripting flaw in Parsons utility data management widgets allows unauthenticated attackers to inject malicious links via RSS feeds.

A cross-site scripting (XSS) vulnerability in the AccuWeather and Custom RSS widget components of Parsons Utility Enterprise Data Management and AclaraONE Utility Portal allows unauthenticated attackers to replace RSS feed URLs with malicious ones, enabling injection of malicious links that users might access. The vulnerability is remotely exploitable with low attack complexity and affects multiple versions: Parsons Utility Enterprise Data Management versions 3.30, 4.02–4.26, 5.03, and 5.18; AclaraONE Utility Portal versions prior to 1.22. CVSS v4 score is 8.7 (CVSS v3.1 score 8.8), reflecting high severity for confidentiality, integrity, and availability impact via user interaction.

Parsons has patched all managed instances as of 7 January 2025, requiring no end-user action. Aclara has patched hosted instances as of 7 February 2025, also requiring no action. AclaraONE on-premises users must apply patches available through the Aclara Connect Customer Portal; support is available via ticket or direct contact, with requests processed in order. CISA reports no known public exploitation of this vulnerability to date. Organizations should isolate ICS networks behind firewalls, minimize internet exposure, and implement VPN-based remote access where required.

Mentioned in this report

Vulnerabilities CVE-2025-5015

Detection guidance

XSS Payload in Request to RSS or Weather Widget Endpoint

ATT&CK T1190

Web requests to RSS, feed, AccuWeather or widget endpoints whose URI or query carries script-injection markers, matching the stored/reflected XSS used to swap RSS feed URLs in utility portals. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

title: XSS Payload in Request to RSS or Weather Widget Endpoint
description: 'Detects web requests to RSS, feed, AccuWeather or widget endpoints whose
  URI or query string contains script-injection markers (script tags, javascript:
  URIs, inline event handlers), in plain or URL-encoded form. Models exploitation
  of XSS in AccuWeather/Custom RSS widgets of utility portals, where an attacker replaces
  the RSS feed URL with a malicious one. Exact parameter names are not public, so
  the rule keys on the widget/feed context plus generic XSS markers. Tune the context
  terms to the local portal.'
tags:
- attack.initial-access
- attack.t1190
logsource:
  category: webserver
detection:
  selection_context:
    cs-uri-stem|contains:
    - rss
    - accuweather
    - widget
    - feed
  selection_context_query:
    cs-uri-query|contains:
    - rss
    - accuweather
    - widget
    - feed
  selection_xss:
    cs-uri-query|contains:
    - <script
    - '%3Cscript'
    - 'javascript:'
    - onerror=
    - onload=
    - '%3Csvg'
    - <svg
    - <img
    - '%3Cimg'
  condition: 1 of selection_context* and selection_xss
falsepositives:
- Authorised web application security scanners testing the portal
- Legitimate RSS feed URLs that happen to include encoded HTML in the query string
level: medium
id: 27011021-675c-51a8-a84a-6b2b0b7e92cc
status: experimental
author: Vorant
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-25-175-06

Behavioural rules are generated from public reporting — validate in your environment before deploying.

Source reporting: https://www.cisa.gov/news-events/ics-advisories/icsa-25-175-06

What this brief leaves out

This page is the free tier: the write-up, the severity, the names. In the app the same report carries its extracted indicators, its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply), the actors and CVEs it names as live profiles, and the vendor research on the same campaign — the primary source the news paraphrased, cited and read directly.

It sits in a corpus of 13,854 reports from 146 sources, 614 of them written in the last seven days, and it grows through the day.

A new account starts with three days of all of it, no card, then keeps the government and CERT reporting free. Name the vendors you run and Slack hears about the reports that touch them — about forty a week that are yours, not the four hundred that are not.

Create a free account   What it costs