☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 🐛 CWE-307
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2018-19879

CVE-2018-19879 Vulnerability in Teltonika
📅 PUBLISHED: 2019-03-28 00:00 UTC 🔄 UPDATED: 2026-08-21 19:30 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 1.26%
👁️
1.26% probability
31.4× above the median CVE
Tier: HIGH
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1110
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: R_31.04.89 before R_00.05.00.5
CVSS VECTOR BREAKDOWN 7.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
7.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2018-19879 is an authentication brute-force vulnerability affecting Teltonika RTU9XX series industrial cellular routers, including the RUT950 model, running firmware versions from R_31.04.89 prior to R_00.05.00.5. The vulnerability resides in the /cgi-bin/luci web management interface, which fails to implement rate-limiting, account lockout, or CAPTCHA mechanisms, allowing an anonymous remote attacker to make unlimited automated login attempts.

Successful exploitation enables an attacker to brute-force the credentials of a targeted user — typically an administrator — and gain full administrative access to the device. Given that these devices are industrial routers deployed in remote telemetry, SCADA, and critical infrastructure environments, a compromise can lead to unauthorized network access, traffic interception, firmware tampering, or lateral movement into operational technology (OT) networks. The vulnerability carries a CVSS base score of 7.1 (High severity), and the EPSS score of 0.01257 indicates a 66.9th percentile likelihood of exploitation in the wild.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability exists in the authentication mechanism of the LuCI web interface (Linux UCI web interface) exposed at the /cgi-bin/luci endpoint on Teltonika RTU9XX devices. According to the NVD description, "the authentication functionality is not protected from automated tools used to make login attempts to the application." This indicates the absence of common brute-force protection mechanisms such as:

  • Account lockout after a configurable number of failed attempts
  • Rate limiting on the login endpoint
  • CAPTCHA or challenge-response mechanisms
  • Exponential backoff or progressive delays between failed attempts

The attack surface is the HTTP(S) management interface accessible over the network. By default, LuCI-based interfaces on industrial routers are often exposed on common ports (80, 443, 8080) and may be reachable from the WAN side if the operator has enabled remote management or if the device is configured with a publicly routable IP address.

From a code-level perspective, the flaw is characteristic of a missing rate-control guard in the login handler. The application likely processes POST requests containing username and password parameters, validates them against stored credentials, and returns a success or failure response. Without throttling logic in the request-handling path, an automated tool (e.g., Hydra, Burp Suite Intruder, Medusa, or custom Python scripts) can systematically iterate through candidate passwords at high speed until the correct one is found.

The vulnerability is notable because it is not an authentication bypass in the traditional sense (e.g., SQL injection or default credential usage) but rather a weakness in the authentication process. The flaw class is CWE-307: Improper Restriction of Excessive Authentication Attempts. Because the remote management interface accepts unlimited attempts, the strength of the password alone becomes the sole barrier to compromise — a low-entropy or reused password can be cracked in hours or days.

Insufficient technical detail available: The NVD description does not specify the exact HTTP request format, whether the login endpoint uses session tokens, or whether any logging/alerting exists within the device. No function names, class names, or additional URL parameters are provided beyond the /cgi-bin/luci path. The analysis above is therefore framed at the vulnerability-class level.


Exploitation Scenarios

No public PoC is confirmed available; the attack chain below is inferred from the vulnerability class (CWE-307) and the NVD description.

Step 1: Reconnaissance / Target Identification

An attacker first identifies Teltonika RTU9XX devices exposed on the internet. This can be accomplished via:

  • Shodan/Censys queries for devices with the "Teltonika" banner or "RUT950" in the HTTP title
  • Mass network scanning (e.g., using masscan or zgrab2) for ports 80, 443, and 8080
  • OSINT techniques including Google dorking for LuCI login pages

Once a candidate device is identified, the attacker confirms the firmware version (if identifiable from the login page or default files) to verify it falls within the vulnerable range (R_31.04.89 before R_00.05.00.5).

Step 2: Triggering the Flaw

The attacker navigates to the /cgi-bin/luci endpoint and begins submitting login attempts. Because the authentication mechanism does not implement lockout or throttling, the attacker can POST username/password pairs in rapid succession. The login endpoint returns a successful authentication response when the correct credentials are submitted.

Step 3: Payload / Execution Method

At the vulnerability-class level, the attacker automates credential stuffing using:

  • A dictionary of default/common passwords (e.g., admin/admin, admin/teltonika, root/root)
  • Password lists from prior breach dumps (credential reuse attacks)
  • GPU-accelerated brute-force tools (e.g., hashcat) if password hashes are ever exfiltrated

The tool parses the HTTP response to distinguish between "login failed" and "login success" responses. No exploitation of memory corruption or injection flaws is involved — this is purely a weakness in access-control rate limiting.

Step 4: Post-Exploitation Impact

Upon successful authentication, the attacker gains authenticated access to the LuCI web interface with the privileges of the compromised account (typically administrator). Capabilities include:

  • Modifying network configuration (routing, firewall rules, port forwarding)
  • Changing DNS settings to redirect traffic (DNS hijacking)
  • Uploading custom firmware or executing arbitrary commands via the interface
  • Extracting VPN credentials, SIM card information, and cellular network APN settings
  • Disabling security features or intercepting Modbus/industrial protocol traffic traversing the router
  • Using the device as a pivot for lateral movement into OT networks

Given that RTU9XX devices are used in remote telemetry units for utilities, oil/gas, and smart-city infrastructure, successful compromise can have cascading effects on industrial operations.


Impact Assessment

CVSS Score: 7.1 (High) — based on the CVSS vector inferred as CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, representing:

  • Attack Vector: Network (AV:N) — remotely exploitable
  • Attack Complexity: Low (AC:L) — no special conditions required
  • Privileges Required: None (PR:N) — anonymous attacker
  • User Interaction: None (UI:N) — no victim action needed
  • Confidentiality Impact: High (C:H) — successful brute-force yields full access to device data
  • Integrity Impact: None (I:N) and Availability Impact: None (A:N) per the inferred vector

Business Impact:

  • Operational Technology (OT) Risk: RTU9XX devices are deployed in remote industrial environments. Compromise may allow attackers to manipulate telemetry data, disrupt monitoring, or gain a foothold in air-gapped or semi-isolated OT networks.
  • Data Exposure: Device configuration, VPN credentials, cellular network parameters, and connected sensor/PLC data may be exposed.
  • Botnet / IoT Exploitation: Compromised routers could be repurposed for DDoS botnets, proxy services, or as hopping points for further intrusions.
  • Reputational Damage: For managed service providers or enterprises running large fleets of Teltonika devices, a mass compromise could result in regulatory scrutiny or contractual penalties.

Blast Radius: The vulnerability affects all Teltonika RTU9XX devices (including, but not limited to, RUT950) running firmware R_31.04.89 up to (but not including) R_00.05.00.5. The attack is simple to execute, requires no prior access, and can be weaponized into automated broad-spectrum scanning campaigns.

EPSS Note: An EPSS score of 0.01257 with a 66.9% percentile ranking indicates that while exploitation probability is not extreme, this vulnerability is more likely to be exploited than ~67% of known CVEs — likely because of the simplicity of brute-force attacks and the prevalence of default credentials in industrial devices.


Detection Guidance

Sigma Rule

title: Teltonika RTU9XX - Excessive Failed Login Attempts to /cgi-bin/luci
id: 5d4c24a8-6f3b-4f47-9f8a-deadbeef0001
status: experimental
description: Detects multiple failed authentication attempts against the Teltonika LuCI web interface, indicating a brute-force attack.
author: ValtersIT Threat Intelligence Team
date: 2025/06/01
logsource:
  category: webserver
  product: nginx
  # Optionally scope to a specific proxy/WAF product
  # product: apache
  # service: access_log
detection:
  selection:
    cs-uri-path|contains:
      - /cgi-bin/luci
    sc-status:
      - 401
      - 403
  timeframe: 5m
  condition: selection | count() >= 10
fields:
  - c-ip
  - cs-username
  - cs-uri-path
  - sc-status
falsepositives:
  - Legitimate user mistyping password multiple times
  - Automated health-check systems that do not require valid credentials
level: high

YARA Rule

rule Teltonika_Luci_BruteForce_Strings
{
    meta:
        author = "ValtersIT Threat Intelligence"
        description = "Detects HTTP requests resembling brute-force attempts against Teltonika LuCI login endpoint"
        cve = "CVE-2018-19879"
        date = "2025-06-01"
        score = 70

    strings:
        $luci_path = "/cgi-bin/luci" ascii nocase
        $login_param = "luci_username=" ascii nocase
        $password_param = "luci_password=" ascii nocase
        $fail_token1 = "Invalid username or password" ascii nocase
        $fail_token2 = "Login failed" ascii nocase
        $stok_token = "stok=" ascii nocase

    condition:
        uint16(0) == 0x0a0d or // HTTP response (headers start with CRLF? adjust) 
        2 of them and #luci_path >= 10
}

Note: The YARA rule above is designed to match payload samples or captured HTTP sessions containing repeated Login attempts. Adjust the uint16 condition or remove it for pure string-matching use cases.

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"CVE-2018-19879 - Teltonika RTU9XX LuCI Brute-Force Attempt"; flow:to_server,established; content:"/cgi-bin/luci"; http_uri; content:"luci_username="; http_client_body; content:"luci_password="; http_client_body; threshold:type both, track by_src, count 10, seconds 300; classtype:attempted-admin; sid:3001987; rev:1; reference:cve,2018-19879;)

Elastic Detection

// EQL query for Elastic SIEM - detect high rate of login failures to LuCI endpoint
sequence by source.ip with maxspan=5m
  [network where http.request.uri contains "/cgi-bin/luci" and http.response.status_code == 401]
    with runs=10

Alternative (HTTP access log based, using filebeat data):

sequence by source.ip with maxspan=10m
  [http where url.path == "/cgi-bin/luci" and response.status_code == 401] with runs=15

Splunk SPL Query

index=web sourcetype=access_combined uri_path="/cgi-bin/luci" status IN (401,403)
| bucket span=5m _time
| stats count AS failed_attempts dc(uri_query) AS unique_creds by source_ip, _time, uri_path
| where failed_attempts > 10
| table _time, source_ip, uri_path, failed_attempts, unique_creds
| sort - failed_attempts

Wazuh OSSEC Rule

<group name="teltonika_bruteforce,">
  <rule id="301201" level="10">
    <decoded_as>web-access</decoded_as>
    <regex>POST /cgi-bin/luci</regex>
    <regex offset="after_regex">(\"401\"|\"403\")</regex>
    <frequency>10</frequency>
    <timeframe>300</timeframe>
    <same_source_ip/>
    <description>Teltonika RTU9XX LuCI login brute-force detected - repeated 401/403 responses on /cgi-bin/luci from same source IP.</description>
    <group>authentication_failures,brute_force,</group>
    <mitre>
      <id>T1110</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 — UNPATCHED status in our tracked sources; however, the NVD description confirms a fixed firmware version (R_00.05.00.5) exists.

1. Immediate Mitigations (applied today)

  • Restrict network exposure: Disable remote management on WAN interfaces. If remote access is required, place the device behind a VPN gateway or a jump host with strong authentication.
  • Firewall rules: Configure access control lists (ACLs) to only allow management traffic from trusted administrative IP ranges.
  • Change default credentials immediately: Ensure all device accounts use unique, high-entropy passwords. Disable any default accounts (e.g., admin/admin) not in active use.
  • Enable IP-based filtering: If the device supports it, enable IP allowlisting for the LuCI web interface.
  • Monitor login logs: Forward device syslog or web access logs to a SIEM (Splunk, Elastic, Wazuh) and alert on repeated login failures using the detection rules above.
  • Use a reverse proxy: Place a hardened reverse proxy (e.g., nginx, HAProxy, or a WAF) in front of the device if management traffic must traverse untrusted networks. Configure rate limiting at the proxy layer.

2. Patch / Upgrade Steps

  • Firmware R_00.05.00.5 contains the fix per the NVD metadata. Consult the Teltonika Networks official website — teltonika-networks.com — and navigate to the RUT950 (or applicable RTU9XX model) support/firmware page.
  • Download the appropriate firmware image for the specific device model and hardware revision.
  • Before upgrading: backup the device configuration to an offline location.
  • Apply the upgrade via the LuCI web interface or via the Teltonika firmware update tool. Follow the vendor's documented upgrade procedure.
  • After upgrade: verify the new firmware version is reflected on the device status page. Reapply any custom hardening settings, as factory resets or firmware upgrades may reset some configuration.

3. Long-Term Hardening

  • Credential management: Integrate device credentials with an enterprise password manager or a privileged access management (PAM) solution. Rotate credentials quarterly or whenever a staff change occurs.
  • Network segmentation: Place RTU9XX devices in a dedicated OT/management VLAN with no direct internet exposure. Use site-to-site VPNs for remote telemetry.
  • Centralized logging: Enable verbose logging on the device and forward to an immutable log store with a retention policy of at least 12 months.
  • Firmware lifecycle: Establish a regular firmware update cadence (e.g., quarterly) and test new firmware in a staging environment before production rollout.
  • Decommission legacy devices: If hardware cannot be upgraded to a fixed firmware revision, plan for hardware replacement.
  • Continuous threat hunting: At the SOC level, monitor Shodan/Censys for the appearance of new Teltonika devices with version fingerprints matching vulnerable firmware, and notify affected asset owners.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2018-19879 — Official NVD record containing the vulnerability description and CVSS score.
  2. Teltonika Networks Official Site: https://teltonika-networks.com/ — Vendor portal for firmware downloads and product advisories (check RUT950 page for R_00.05.00.5).
  3. CWE-307 Reference: https://cwe.mitre.org/data/definitions/307.html — MITRE CWE entry for "Improper Restriction of Excessive Authentication Attempts."
  4. MITRE ATT&CK — T1110 Brute Force: https://attack.mitre.org/techniques/T1110/ — Technique mapping for brute-force credential attacks.
  5. Shodan Search Reference: https://www.shodan.io/search?query=http.title%3A%22RUT950%22 — Example search for exposed Teltonika RUT950 devices (note: use responsibly, this is for defensive research).

Threat Actor Campaigns & Exploitation Evidence: As of this report date, no active national-state or criminal campaign is publicly attributed to this specific CVE. The EPSS score percentile (66.9%) and the triviality of the attack class suggest that hacking groups — particularly those operating OT-targeting botnets (e.g., Mirai variants, generic IoT botnets) — may opportunistically target Teltonika devices. CISA KEV does not list this CVE. Ongoing monitoring of Shodan and abuse platforms is recommended to track in-the-wild scanning activity.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

title:"Teltonika" "RUT950"
http.title:"RUT950"
html:"cgi-bin/luci" Teltonika
http.html:"Teltonika" "RUT9XX"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2018-19879/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.