Invia #870588: D-Link DIR-842 DIR-842 2.01.B04 Misconfigurationinformazioni

TitoloD-Link DIR-842 DIR-842 2.01.B04 Misconfiguration
Descrizione**Description:** In `DIR-842 2.01.B04` Router, there is a misconfiguration vulnerability about `vsftpd`. The vulnerability causes all files uploaded anonymously via FTP to be automatically assigned root ownership, potentially allowing remote attackers to obtain full root access and take complete control of the devices. **Detail:** In the `DIR-842 2.01.B04` firmware, the content of the `/etc/vsftpd.conf` is as follows. ```python # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=0 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. #dirmessage_enable=YES # # Activate logging of uploads/downloads. #xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). #connect_from_port_20=YES #ftp_username=nobody # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format. # Note that the default log file location is /var/log/xferlog in this case. #xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. ascii_upload_enable=YES #ascii_download_enable=YES # # You may fully customise the login banner string: ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd.banned_emails # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). #chroot_local_user=YES #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive. listen=YES #listen_port=21 ftp_username=nobody ``` Within, it enables the `chown_uploads` property but does not explicitly set the required `chown_username` property which defaults to `root`. The official documentation of vsftpd [1] [2] states the following requirements. ``` chown_uploads If enabled, all anonymously uploaded files will have the ownership changed to the user specified in the setting chown_username. This is useful from an administrative, and perhaps security, standpoint. Note! Using "root" for uploaded files is not recommended! Default: NO chown_username This is the name of the user who is given ownership of anonymously uploaded files. This option is only relevant if another option, chown_uploads, is set. Default: root ``` Clearly, there is a misconfiguration vulnerability here. This violates the principle of least privilege. The vulnerability causes all files uploaded anonymously via FTP to be automatically assigned root ownership, potentially allowing remote attackers to obtain full root access and take complete control of the devices. **Reference:** [1] http://vsftpd.beasts.org/vsftpd_conf.html [2] https://github.com/simfishing/vsftpd-3.0.5/blob/master/vsftpd.conf
Fonte⚠️ https://app.notion.com/p/DIR-842-2-01-B04-38b1f5ba98908074af60fc69628dfb71?source=copy_link
Utente
 L14Utopia (UID 99304)
Sottomissione26/06/2026 08:25 (2 mesi fa)
Moderazione14/08/2026 20:45 (2 months later)
StatoAccettato
Voce VulDB390081 [D-Link DIR-842 2.01.B04 vsftpd /etc/vsftpd.conf escalationi di privilegi]
Punti20

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!