title: Remote Code Execution via buffer overflow in firmware update process
description: An unauthenticated attacker can send a specially crafted update file to the device that can overflow a buffer. This vulnerability impacts products based on HID Mercury Intelligent Controllers LP1501, LP1502, LP2500, LP4502, and EP4502 which contain firmware versions prior to 1.302 for the LP series and 1.296 for the EP series. The overflowed data can allow the attacker to manipulate the “normal” code execution to that of their choosing. An attacker with this level of access on the device can monitor all communications sent to and from this device, modify onboard relays, change configuration files, or cause the device to become unstable.
problem types: CWE-120 Buffer Overflow
affected:
{
product: LNL-X2210
vendor: LenelS2
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: LNL-X2220
vendor: LenelS2
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: LNL-X3300
vendor: LenelS2
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: LNL-X4420
vendor: LenelS2
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: LNL-4420
vendor: LenelS2
versions:
lessThan: 1.296, status: affected, version: ALL, versionType: custom
}
{
product: S2-LP-1501
vendor: LenelS2
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: S2-LP-1502
vendor: LenelS2
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: S2-LP-2500
vendor: LenelS2
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: S2-LP-4502
vendor: LenelS2
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: LP1501
vendor: HID Mercury
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: LP1502
vendor: HID Mercury
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: LP2500
vendor: HID Mercury
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: LP4502
vendor: HID Mercury
versions:
lessThan: 1.302, status: affected, version: ALL, versionType: custom
}
{
product: EP4502
vendor: HID Mercury
versions:
lessThan: 1.296, status: affected, version: ALL, versionType: custom
}
metrics:
cvssV3_1: [
attackComplexity: LOW
attackVector: NETWORK
availabilityImpact: HIGH
baseScore: 10
baseSeverity: CRITICAL
confidentialityImpact: HIGH
integrityImpact: HIGH
privilegesRequired: NONE
scope: CHANGED
userInteraction: NONE
vectorString: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
version: 3.1
]
solutions: Update to the latest version of firmware
workarounds: Disable the controller's Web Server.
When the controller is configured to disable web access, you cannot remotely login into the controller’s web page.
1. Login to controller web pages
2. Go to “Users” Tab
3. Near bottom of the Users page, check option to “Disable Web Server”
4. Then select “Submit” at the bottom of the page
5. Then select “Apply Settings” tab
6. And on that page, select button “Apply Settings, Reboot”
The Controller will apply the new setting and reboot. Web login will be disabled until switch 1 is physically turned ON, on the controller.