HexBrain

Browse / CVEs / CVE-2025-28228

CVE-2025-28228· CWE-522

Electrolink FM/DAB/TV Transmitter - Credentials Disclosure

highseverity
7.5CVSS score
1.8%likelihood of exploitation, next 30 days
79%of all CVEs are less likely
Readycheck to confirm it

A credential exposure vulnerability in Electrolink 500W, 1kW, 2kW Medium DAB Transmitter Web v01.09, v01.08, v01.07, and Display v1.4, v1.2 allows unauthorized attackers to access credentials in plaintext.

Impact

Unauthenticated attackers can access plaintext credentials through the controlloLogin.js file, potentially gaining unauthorized access to Electrolink transmitter management interfaces.

Fix

Change default credentials and restrict access to the controlloLogin.js file.

How to confirm it

Send: GET {{BaseURL}}/controlloLogin.js
Positive when: contains "user=='guest'" and "password=='guest'" AND status 200

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

The full check
id: CVE-2025-28228

info:
  name: Electrolink FM/DAB/TV Transmitter - Credentials Disclosure
  author: DhiyaneshDk
  severity: high
  description: |
    A credential exposure vulnerability in Electrolink 500W, 1kW, 2kW Medium DAB Transmitter Web v01.09, v01.08, v01.07, and Display v1.4, v1.2 allows unauthorized attackers to access credentials in plaintext.
  impact: |
    Unauthenticated attackers can access plaintext credentials through the controlloLogin.js file, potentially gaining unauthorized access to Electrolink transmitter management interfaces.
  remediation: |
    Change default credentials and restrict access to the controlloLogin.js file.
  reference:
    - https://github.com/shiky8/my--cve-vulnerability-research/tree/main/CVE-2025-28228
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2025-28228
    cwe-id: CWE-522
    epss-score: 0.01804
    epss-percentile: 0.78729
  metadata:
    verified: true
    max-request: 1
    shodan-query: http.title:"Electrolink"
  tags: cve,cve2025,electrolink,info-leak,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/controlloLogin.js"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "user=='guest'"
          - "password=='guest'"
        condition: and

      - type: status
        status:
          - 200

References

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