For the complete documentation index, see llms.txt. This page is also available as Markdown.

pyLoad

pyLoad can expose a CherryPy/Cheroot web UI on TCP 9666. Versions prior to 0.5.0b3.dev31 can be vulnerable to CVE-2023-0297, a pre-auth code injection issue through /flash/addcrypted2.

Discovery

Useful service indicators:

22/tcp   open  ssh   OpenSSH 8.9p1 Ubuntu 3ubuntu0.1
9666/tcp open  http  CherryPy wsgiserver
| http-title: Login - pyLoad
|_Requested resource was /login?next=http://TARGET:9666/
| http-robots.txt: 1 disallowed entry
|_/
|_http-server-header: Cheroot/8.6.0

WhatWeb may show the login redirect and pyLoad page:

http://TARGET:9666 [302 Found] HTTPServer[Cheroot/8.6.0], RedirectLocation[/login?next=http://TARGET:9666/], Title[Redirecting...]
http://TARGET:9666/login?next=http://TARGET:9666/ [200 OK] Bootstrap, Frame, HTML5, HTTPServer[Cheroot/8.6.0], JQuery, PasswordField[password], Title[Login - pyLoad]

Browse to the service:

http://TARGET:9666
Login - pyLoad

CVE-2023-0297 Pre-Auth RCE

The vulnerable flash endpoint can be reached without authentication:

Expected response:

The endpoint may also allow cross-origin requests:

Useful headers:

Confirm command execution with an ICMP callback:

Successful execution produces ICMP requests from the target:

Root Reverse Shell

Create an ELF reverse shell and host it:

Use the jk injection to download the payload:

Make it executable:

Execute it:

Successful shell context:

References

  • https://github.com/advisories/GHSA-pf38-5p22-x6h6

  • https://github.com/bAuh0lz/CVE-2023-0297_Pre-auth_RCE_in_pyLoad

Last updated