Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with payment-term create permission
-
DeliveryInject script into Payment Term note field
-
ExploitPayload persists to database as raw HTML
-
ExecutionVictim opens Payment Term record
-
PersistScript executes in victim's session
-
ImpactSession/action abuse against higher-privileged users
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution 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 account with the payment-term create permission (create_account_payment::term) able to POST to the payment-terms/store endpoint of the Accounting (webkul/accounts) plugin - so it is not exploitable by anonymous or unprivileged users. The malicious note only fires when another user opens the affected Payment Term infolist view (UI:P/required interaction by a victim), because PaymentTermInfolist.php wraps the note in new HtmlString($state) without sanitization. Applies to Aureus ERP through 1.6.0 with the Accounting plugin enabled; limiting factors are the required create privilege and the need for a victim to view the specific record. |
| Impact | This is a genuine but low-to-moderate priority stored XSS. The vendor CVSS 4.0 base score is 5.1 (Medium), consistent with the vector AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N: network-reachable and low-complexity, but gated by PR:L (the attacker needs an authenticated account holding payment-term create permission) and UI:P (a victim must view the poisoned Payment Term record). Impact is limited to Low confidentiality/integrity on both the vulnerable and a subsequent system (the victim's browser session), with no availability impact. No EPSS score was provided, the CVE is not in CISA KEV, and there is no vendor claim of active exploitation, so this is not confirmed actively exploited. A public technical write-up with the payload exists (hackmd.io/@leediay), so treat it as publicly available exploit code. The realistic risk is a privileged-insider or compromised-low-privilege-account scenario escalating within the app (session/action theft against other users, including admins, who open the record) rather than mass or unauthenticated exploitation. Net: patch in normal cadence; it is not a drop-everything emergency, and the raw 'network vector' should not be read as unauthenticated internet-wide risk given PR:L and UI:P. |
| Exploit ScenarioDerived | An authenticated user with payment-term create permission submits a Payment Term whose note field contains '<p>Pay in 30 days</p><script>...</script>'; the unsanitized note is persisted and later rendered as raw HTML via HtmlString in PaymentTermInfolist. When any other user - potentially an accounting admin - opens that Payment Term record, the injected JavaScript executes in their authenticated session. A public write-up demonstrating the payload exists, so a working PoC is available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Stored cross-site scripting in Aureus ERP through 1.6.0 lets an authenticated user who holds the payment-term create permission (create_account_payment::term) persist arbitrary JavaScript in the Payment Term note field of the Accounting plugin, which then executes in the browser of any other user who opens that Payment Term record. Exploitation requires a privileged account plus a victim opening the affected infolist view (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, assessed base 5.1 under CVSS 4.0), so impact is bounded by that privilege gate and the required user interaction; there is no public exploit identified at time of analysis and no CISA KEV listing. An upstream fix exists as GitHub pull request #1562, which sanitizes the note field, but no tagged patched release is confirmed in the provided data.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. Apply the changes in https://github.com/aureuserp/aureuserp/pull/1562, which sanitizes the note field at input validation (prepareForValidation() in PaymentTermRequest), at the model layer (setNoteAttribute() in PaymentTerm), and at render time (new HtmlString(str($state)->sanitizeHtml()) in PaymentTermInfolist.php); until a tagged release containing this PR is confirmed, treat 1.6.0 and earlier as vulnerable and either backport the patch or upgrade to the first release that includes it. As a compensating control, remove or tightly restrict the create_account_payment::term permission so only trusted administrators can create or edit Payment Terms - this directly removes the write primitive but does not protect against already-persisted malicious notes, so existing Payment Term records should be audited and their note fields cleaned. Disabling the Accounting plugin stops the vulnerable view from rendering but removes accounting functionality and does not fix the underlying storage issue. Blocking the payment-terms store endpoint at the reverse proxy for non-admin roles is a further interim workaround with the trade-off of breaking legitimate Payment Term creation. Note that sanitizing only on output (the infolist formatter) is sufficient to stop execution but leaves hostile markup stored in the database; apply all three layers as the upstream patch does. Also note that a victim must open the specific Payment Term record for the payload to fire, so restricting who can view Payment Term infolists reduces the blast radius but should not be relied on as the primary fix.
Affected VersionsENISA
Affected Packages
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
Aureus ERP is a Laravel-based ERP built on the Filament admin panel framework, with accounting functionality delivered through the webkul/accounts plugin. The affected component is PaymentTermResource: the infolist schema at plugins/webkul/accounts/src/Filament/Resources/PaymentTermResource/Schemas/PaymentTermInfolist.php (line ~59) renders the stored note column via new HtmlString($state), which tells Filament to emit the value as raw, unescaped HTML rather than escaping it. Because the note field is also stored unsanitized by PaymentTermRequest and PaymentTerm model writes, an attacker with payment-term create rights can POST markup containing a <script> or event-handler payload to the payment-terms store endpoint, where it is persisted to the database and re-served to every viewer of that record. The root cause class is CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e. stored/persistent XSS) - the missing output encoding on a stored, rich-text-intended field. The fix in PR #1562 applies defense in depth at three layers: prepareForValidation() in PaymentTermRequest sanitizes the incoming note, a setNoteAttribute() model mutator sanitizes on write, and the infolist formatter switches to new HtmlString(str($state)->sanitizeHtml()); a feature test asserts that <script> tags are stripped while legitimate formatting such as <p>Pay in 30 days</p> is preserved.
Know when PHP 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Authenticated create permission gives PR:L; a victim must view the record (UI:R); stored XSS executing in another user's browser is a scope change (S:C) with Low confidentiality/integrity impact and no availability effect.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
Aureus ERP through 1.6.0 stores the Payment Term note field unsanitized and renders it as raw HTML in the Accounting plugin. Authenticated users with payment-term create permission can submit arbitrary JavaScript to the payment-terms endpoint, which persists to the database and executes in browsers of all users viewing that Payment Term record.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-82606
GHSA-4vx9-xvv3-fqhj
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB