If you can believe Amazon’s customer review system, I’m one of many people to have purchased an Amcrest IP2M-841B IP camera.
Pulling apart the firmware for this device, it’s clear that it’s a rebranded Dahua camera. Dahua has recently been in the news as the US government plans to black list the company due to potential spying concerns.
While Dahua devices have seen some egregious security issues in the past, it’s been several years since anything terrible was disclosed. Which is why I was surprised to find that I could remotely listen to the IP2M-841B’s audio over HTTP without authentication. Essentially, if this thing is connected directly to the internet, it’s anyone’s listening device. We’ve assigned this CVE-2019–3948.
Connecting to the audio stream is trivial. Simply point your browser or a tool like VLC at the videotalk endpoint.
Once connected via VLC, nothing appears to happen, but if you look at the network traffic you’ll see quite a bit is going on in the background.
VLC just doesn’t understand the “DHAV” container that the camera has wrapped the audio in. Fortunately, it was pretty easy to write a script that connects to the endpoint and extracts the audio so that it can be played by ffplay.
Amcrest is one of many companies that rebrand Dahua products. But because each company seems to keep their devices at different patch levels or include different features, it remains unclear how many vendors are vulnerable to this particular issue. This Shodan search does yield some non-Amcrest cameras that are vulnerable, but since Dahua was included in our disclosure timeline we assume patches exist or are forthcoming.
As usual, don’t expose your cameras to the internet and be wary of your IoT devices in general.