В CLI есть пакет
@react-native-community/cli-server-api, который используется для того, чтобы поднять локальный сервер Metro.Проблема в том, что он слушает не только localhost, но и 0.0.0.0 и IPv6 [::], что делает его доступным в сети.
Вторая проблема, это open-url роут, который принимает JSON с полем url и передаёт его пакету open, который на Windows даёт полноценное выполнение команд, а на macOS/Linux запускает команды, но с более ограниченным контролем.
Комбинация этих двух уязвимостей даёт возможность удалённого запуска вредоносного кода.
Подробное описание уязвимости и способы пофиксить в статье.
React Native World | Навигация по каналу
