
Proof-of-Concept-Exploit für CVE-2022-35131: XSS, das in der Notiz-App Joplin über nicht maskierte Benutzereingaben in Suchergebnissen zu Remote-Code-Ausführung führt.
XSS, das zu RCE in Joplin führt, betrifft Version 2.8.8 und frühere. Getestet und funktioniert auf Windows und Linux.
Gemeldet und behoben: 2022-06
Ctrl+P und suchen Sie nach etwas in der Notiz oder im TitelDas Problem liegt darin, dass dangerouslySetInnerHTML mit unescaped Benutzereingaben in GotoAnything.tsx Zeile 509 verwendet wird. Behebung durch Escaping der Benutzereingabe.
return (
<div key={item.id} className={isSelected ? 'selected' : null} style={rowStyle} onClick={this.listItem_onClick} data-id={item.id} data-parent-id={item.parent_id} data-type={item.type}>
<div style={style.rowTitle} dangerouslySetInnerHTML={{ __html: titleHtml }}></div>
{fragmentComp}
{pathComp}
</div>
);
Leerzeichen können im Payload nicht verwendet werden, aber das kodierte Leerzeichen \x20 kann verwendet werden.
Beispiel-Tile-Payloads:
# Payload 1 (Linux)
zzz
# Payload 2 (Windows)
zzz
# Reverse shell (Linux)
zzz
Suchen Sie nach zzz, um den Payload auszuführen.