
CVE-2026-39031 — Offline-Wiederherstellung von Klartextpasswörtern für Lansweeper lsrunase 2.0 / lsencrypt 2.0 über einen hartcodierten RC4-Schlüssel. PoC + technische Beratung.
Lansweeper lsrunase 2.0 und lsencrypt 2.0 verwenden ein reversibles Passwort-Verschlüsselungsschema basierend auf RC4. Der RC4-Schlüssel wird aus einem 8‑Zeichen-Präfix abgeleitet, das im Klartext zusammen mit dem verschlüsselten Passwort gespeichert ist, sowie aus festem, in den Binärdateien eingebetteten Schlüsselmaterial.
Jeder, der eine von einem der beiden Tools erzeugte verschlüsselte Passwort-Zeichenkette besitzt, kann das Klartext-Passwort offline wiederherstellen. Der Wiederherstellungsprozess erfordert keine Brute-Force: Das Klartext-Präfix wird vom verschlüsselten Wert getrennt, der Schlüsselpuffer neu aufgebaut, ein SHA-1-Hash berechnet und ein RC4-Chiffrat entschlüsselt.
Diesem Problem wurde CVE-2026-39031 zugewiesen. Öffentliche CVE- und NVD-Einträge erscheinen möglicherweise erst, nachdem die Offenlegung veröffentlicht und die Eintragsverbreitung abgeschlossen ist.
| Produkt | Betroffene Version |
|---|---|
Lansweeper lsrunase | 2.0 |
Lansweeper lsencrypt | 2.0 |
Die betroffene Komponente ist die Passwort-Verschlüsselungsroutine, die von lsrunase.exe 2.0 und lsencrypt.exe 2.0 verwendet wird.
Es handelt sich nicht um das ältere LSrunasE / Supercrypt-Problem, das unter CVE-2007-6340 bekannt ist. Dieses ältere CVE betraf Geert Moernaut LSrunasE 1.0 und Supercrypt 1.0.
CVE-2026-39031 bezieht sich speziell auf Lansweeper lsrunase 2.0 und lsencrypt 2.0. Die anfällige Konstruktion ist anders: Diese Binärdateien leiten den RC4-Schlüssel aus einem Klartext-8‑Zeichen-Präfix und einem festen 142‑Byte-Suffix ab, das in den Binärdateien eingebettet ist.
Ein verschlüsselter Passwort-Wert ist wie folgt aufgebaut:
8‑Zeichen-Präfix || base64(RC4(Klartext-Passwort))
Der Verschlüsselungsprozess ist:
0x3f bis 0x7e.SHA1(key_buffer), um den 20‑Byte-RC4-Schlüssel zu erhalten.Das feste 142‑Byte-Suffix lautet:
0x27 0x0F 0x29 0x11 0x2B 0x13 0x2D 0x15
0x2F 0x17 0x31 0x19 0x33 0x1B 0x35 0x1D
0x37 0x1F 0x39 0x21 0x3B 0x23 0x3D 0x25
0x3F 0x27 0x41 0x29 0x43 0x2B 0x45 0x2D
0x47 0x2F 0x49 0x31 0x4B 0x33 0x4D 0x35
0x4F 0x37 0x51 0x39 0x53 0x3B 0x55 0x3D
0x57 0x3F 0x59 0x41 0x5B 0x43 0x5D 0x45
0x5F 0x47 0x61 0x49 0x63 0x4B 0x65 0x4D
0x67 0x4F 0x69 0x51 0x6B 0x53 0x6D 0x55
0x6F 0x57 0x71 0x59 0x73 0x5B 0x75 0x5D
0x77 0x5F 0x79 0x61 0x7B 0x63 0x7D 0x65
0x7F 0x67 0x81 0x69 0x83 0x6B 0x85 0x6D
0x87 0x6F 0x89 0x71 0x8B 0x73 0x8D 0x75
0x8F 0x77 0x91 0x79 0x93 0x7B 0x95 0x7D
0x97 0x7F 0x99 0x81 0x9B 0x83 0x9D 0x85
0x9F 0x87 0xA1 0x89 0xA3 0x8B 0xA5 0x8D
0xA7 0x8F 0xA9 0x91 0xAB 0x93 0xAD 0x95
0xAF 0x97 0xB1 0x99 0xB3 0x9B
Da das Präfix im Klartext gespeichert ist und das restliche Schlüsselmaterial installationsübergreifend fest ist, steht einem Angreifer, der eine verschlüsselte Passwort-Zeichenkette und eine Kopie der Binärdatei oder diese Analyse besitzt, alle benötigten Informationen zur Ableitung des RC4-Schlüssels zur Verfügung.
Das Proof-of-Concept-Skript hat keine Abhängigkeiten von Drittanbietern und läuft mit Python 3.
$ python lsrunase2cve.py --decrypt "IssS|CI|NTOEHK5Q9l7Sn89xEA67+wo="
Entschlüsselt: testpassword12345
Der obige verschlüsselte Wert wurde von der LSrunasE 2.0 password encrypter 2.0-GUI für den Klartext-Wert testpassword12345 erzeugt.
Für eine reproduzierbare Verschlüsselungsprüfung mit demselben Präfix:
$ python lsrunase2cve.py --encrypt "testpassword12345" --prefix "IssS|CI|"
Verschlüsselt: IssS|CI|NTOEHK5Q9l7Sn89xEA67+wo=
Ein Angreifer mit lokalem Zugriff auf einen verschlüsselten Passwort-Wert, der von lsrunase 2.0 oder lsencrypt 2.0 erzeugt wurde, kann das Klartext-Passwort offline wiederherstellen.
Je nachdem, wie die Tools eingesetzt werden, können wiederhergestellte Anmeldeinformationen Folgendes ermöglichen:
Das Problem wird durch mehrere kryptografische Designfehler im Passwort-Schutzschema verursacht:
Relevante Schwachstellenkategorien sind:
CWE-321: Verwendung eines fest codierten kryptografischen SchlüsselsCWE-326: Unzureichende VerschlüsselungsstärkeCWE-327: Verwendung eines gebrochenen oder riskanten kryptografischen Algorithmus| Datum | Ereignis |
|---|---|
| 2026-03-13 | Anbieter benachrichtigt über [email protected] mit einem 90‑tägigen koordinierten Offenlegungszeitplan und einem 14‑tägigen Anspruchszeitraum für die CVE-Vergabe. |
| 2026-03-31 | Anbieter antwortete, dass das Produkt nicht mehr gewartet wird. Es wurde keine technische Bestätigung gegeben. |
CWE-321: https://cwe.mitre.org/data/definitions/321.htmlCWE-326: https://cwe.mitre.org/data/definitions/326.htmlCWE-327: https://cwe.mitre.org/data/definitions/327.htmlCVE-2007-6340-Eintrag: https://nvd.nist.gov/vuln/detail/CVE-2007-6340| 2026-06-08 | MITRE vergab CVE-2026-39031. |