This is a deadbolt that still looks locked from the hallway but stops catching the door when visitors use the side entrance
CVE-2024-41993 affects Securepoint UTM. The vendor says the flaw sits in the product's Fail2Ban handling of IPv6 addresses, causing failed login attempts to not be temporarily blocked as configured. Securepoint lists affected versions as 11.8 through 12.6.5.1 and 12.7.1.3 (Reseller Preview), with a fix in 12.7.2, first published on 2024-08-14.
In practice this is not a direct auth bypass, RCE, or privilege-escalation. It matters only when the appliance has IPv6 configured and the administrator has enabled access to UTM-hosted services over IPv6; then an attacker can keep hammering exposed login surfaces without the expected temporary ban. That makes it real, but narrower than headline appliance bugs: it amplifies brute-force economics rather than delivering compromise by itself.
4 steps from start to impact.
Find an IPv6-reachable UTM service with masscan or external ASM
- Target runs Securepoint UTM in an affected version
- IPv6 is configured on the appliance
- A UTM-hosted service is reachable over IPv6 from the attacker
- Many enterprises still do not expose management surfaces over IPv6
- The product has lower internet-facing population than Fortinet/Pulse/Citrix class appliances
- External exposure data is noisy because open ports do not prove Securepoint UTM ownership
Drive repeated auth failures with hydra, ncrack, or custom spray tooling
- An exposed service accepts credentials or repeated auth attempts
- The attacker can generate sustained failures against that service
- SSH keys, client certificates, or MFA sharply reduce attacker payoff
- Account lockout, IdP throttling, GeoIP policy, or upstream firewall rate limiting can still stop the campaign
- Spraying against a tiny local user population may not scale
Exploit the missing temporary block instead of a software takeover
- Fail2Ban protections are relied upon for that service
- The service path uses the vulnerable IPv6 handling logic
- If the organization already gates access with VPN, allowlists, or SSO, the missing ban may be irrelevant
- If password auth is disabled, the control failure has little practical value
- Other systemwide blocking features on the UTM can still narrow the path
Turn guessed credentials into actual access
- Valid credentials are guessed or sprayed successfully
- The target account has meaningful access to the UTM or downstream services
- Strong passwords, passwordless auth, and MFA remain decisive blockers
- Least privilege can cap damage even after a successful login
- Administrative interfaces often have extra controls or narrow source ACLs
The supporting signals.
| In-the-wild status | No public exploitation evidence found in the sources reviewed, and the CVE is not listed in CISA KEV. |
|---|---|
| Proof-of-concept availability | No public PoC or exploit repo located for this specific CVE. This is consistent with the bug being a control failure rather than a clean one-shot exploit. |
| EPSS | No FIRST EPSS data point was located in the reviewed sources; Feedly also showed no EPSS yet for this CVE. |
| KEV status | Not in KEV. No CISA due date applies. |
| Affected versions | Securepoint UTM 11.8 through 12.6.5.1 and 12.7.1.3 (Reseller Preview) according to the vendor advisory. |
| Fixed version | 12.7.2 per Securepoint, published on 2024-08-14. |
| Exposure prerequisite | The vendor states the bug matters only if IPv6 is configured on the UTM and access to services on the UTM has been enabled for those IPv6 addresses. |
| Impact type | This is a protection-mechanism failure: repeated failed attempts may avoid the configured temporary block, increasing brute-force risk against exposed login surfaces. |
| CVSS / CNA metadata | The public Securepoint wiki page displays CVSS 5.3, but no authoritative CNA/NVD vector or enriched record was located during review. Treat this as an advisory-side datapoint, not a comparison baseline. |
| Scanner / exposure data | Expect uneven scanner coverage because NVD/MITRE data is sparse and appliance fingerprinting is conditional. Version inventory plus IPv6 exposure review is more reliable than generic internet scan counts. |
noisgate verdict.
The decisive friction is that the bug only matters when a Securepoint UTM service is exposed over IPv6, which already narrows the reachable population substantially. Even then, the CVE does not grant access by itself; it only removes a throttling control and still needs weak or reusable credentials, making this a meaningful but secondary attack amplifier rather than a front-door break-in.
Why this verdict
- Requires IPv6 exposure: the vendor explicitly says the issue only triggers when IPv6 is configured and UTM-hosted services are enabled for those addresses. That is immediate downward pressure because many deployments either do not expose those paths or do not expose them broadly over IPv6.
- Not a direct compromise primitive: there is no code execution, auth bypass, or privilege escalation in the bug itself. The attacker still needs a second-stage win such as guessed credentials, weak password auth, or another auth weakness.
- Still matters on edge services: when you do expose admin, user, SSH, or VPN-related entry points, losing temporary blocking can materially improve password-spraying odds. On a perimeter appliance, that is more than paper-cut hygiene, so this stays above LOW.
Why not higher?
The attack chain compounds several real-world prerequisites: internet reachability over IPv6, an actually exposed UTM service, password-based authentication worth spraying, and credentials weak enough to crack online. Modern controls such as MFA, client certs, upstream ACLs, and GeoIP/rate limiting break the chain before the CVE alone can create impact.
Why not lower?
This is still a security-control failure on an internet edge product, not a purely theoretical code defect in a dormant library. If an organization relies on temporary banning to slow brute-force traffic on exposed IPv6 services, the bug can change attacker economics enough to deserve planned remediation and exposure review.
What to do — in priority order.
- Shut off unnecessary IPv6 exposure — Remove IPv6 reachability for UTM-hosted services that do not need to be internet-facing, especially admin and SSH paths. For a MEDIUM verdict there is no mitigation SLA, but exposed edge services are worth hardening immediately as part of normal operations while you work toward the 365-day remediation window.
- Enforce stronger authentication — Require MFA, client certificates, SSH keys, or other non-password controls on exposed services so the missing IPv6 ban does not turn into actual account compromise. There is no mitigation SLA for MEDIUM, so treat this as an opportunistic hardening move now and complete patch remediation within the 365-day window.
- Rate-limit upstream of the appliance — Use the upstream firewall, reverse proxy, or access edge to rate-limit, allowlist, or GeoIP-restrict management and user-facing services over IPv6. This is the cleanest way to replace the missing brake externally; again, no mitigation SLA applies, but do it now for exposed services and patch within 365 days.
- Review IPv6 listener inventory — Validate which UTM services actually bind to and accept traffic on global IPv6 addresses, because many teams secure only the IPv4 path and forget the AAAA path. For MEDIUM there is no mitigation SLA, so fold this into your next exposure-review cycle and complete vendor remediation inside the 365-day remediation window.
- Relying on Fail2Ban alone does not work here, because the flaw is specifically in the IPv6 handling for temporary blocking.
- Protecting only the IPv4 path does not help if the same service is still reachable over IPv6 via a global address.
- An HTTP WAF is not a universal answer because affected login surfaces may include non-HTTP services such as SSH or other UTM-hosted protocols.
Crowdsourced verification payload.
Run this on the Securepoint UTM itself over SSH as root if possible. Save it as cve-2024-41993-check.sh and run bash cve-2024-41993-check.sh; it needs local shell access and benefits from root privileges so it can query version data, IPv6 addresses, and listening sockets.
#!/usr/bin/env bash
# CVE-2024-41993 Securepoint UTM check
# Outputs: VULNERABLE / PATCHED / UNKNOWN
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
set -u
VERSION=""
RAW_INFO=""
have_cmd() { command -v "$1" >/dev/null 2>&1; }
extract_version() {
printf '%s\n' "$1" | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?' | head -n1
}
# Try a few Securepoint-specific and generic ways to obtain firmware version.
if have_cmd system; then
RAW_INFO="$(system upgrade info 2>/dev/null)"
VERSION="$(extract_version "$RAW_INFO")"
fi
if [ -z "$VERSION" ] && have_cmd spcli; then
RAW_INFO="$(printf 'system upgrade info\n' | spcli 2>/dev/null)"
VERSION="$(extract_version "$RAW_INFO")"
fi
if [ -z "$VERSION" ] && [ -r /etc/version ]; then
RAW_INFO="$(cat /etc/version 2>/dev/null)"
VERSION="$(extract_version "$RAW_INFO")"
fi
if [ -z "$VERSION" ] && [ -r /etc/issue ]; then
RAW_INFO="$(cat /etc/issue 2>/dev/null)"
VERSION="$(extract_version "$RAW_INFO")"
fi
if [ -z "$VERSION" ] && [ -r /etc/os-release ]; then
RAW_INFO="$(cat /etc/os-release 2>/dev/null)"
VERSION="$(extract_version "$RAW_INFO")"
fi
ver_to_int() {
# Convert dotted version to zero-padded comparable integer string.
# Supports up to 4 components.
local IFS='.'
local a b c d
read -r a b c d <<< "$1"
a=${a:-0}; b=${b:-0}; c=${c:-0}; d=${d:-0}
printf '%04d%04d%04d%04d\n' "$a" "$b" "$c" "$d"
}
version_ge() { [ "$(ver_to_int "$1")" -ge "$(ver_to_int "$2")" ]; }
version_le() { [ "$(ver_to_int "$1")" -le "$(ver_to_int "$2")" ]; }
version_eq() { [ "$(ver_to_int "$1")" -eq "$(ver_to_int "$2")" ]; }
# Determine runtime preconditions from vendor advisory:
# - IPv6 must be configured
# - Access to UTM services over IPv6 must exist
GLOBAL_IPV6=""
LISTEN_IPV6=""
if have_cmd ip; then
GLOBAL_IPV6="$(ip -6 addr show scope global up 2>/dev/null | grep -Ev 'fe80|tentative|deprecated' || true)"
fi
if have_cmd ss; then
LISTEN_IPV6="$(ss -lntup 2>/dev/null | grep -E ':::|\[::\]|tcp6|udp6' || true)"
elif have_cmd netstat; then
LISTEN_IPV6="$(netstat -lntup 2>/dev/null | grep -E ':::|tcp6|udp6' || true)"
fi
if [ -z "$VERSION" ]; then
echo "UNKNOWN: could not determine Securepoint UTM firmware version"
exit 2
fi
# Vendor-affected ranges from advisory:
# vulnerable: 11.8 through 12.6.5.1
# vulnerable: 12.7.1.3 (Reseller Preview)
# fixed: 12.7.2
if version_ge "$VERSION" "12.7.2"; then
echo "PATCHED: firmware version $VERSION is at or above 12.7.2"
exit 0
fi
IN_AFFECTED_MAINLINE=0
IN_AFFECTED_PREVIEW=0
if version_ge "$VERSION" "11.8" && version_le "$VERSION" "12.6.5.1"; then
IN_AFFECTED_MAINLINE=1
fi
if version_eq "$VERSION" "12.7.1.3"; then
IN_AFFECTED_PREVIEW=1
fi
if [ "$IN_AFFECTED_MAINLINE" -eq 1 ] || [ "$IN_AFFECTED_PREVIEW" -eq 1 ]; then
if [ -n "$GLOBAL_IPV6" ] && [ -n "$LISTEN_IPV6" ]; then
echo "VULNERABLE: affected version $VERSION with global IPv6 configured and IPv6 listener(s) present"
exit 1
else
echo "UNKNOWN: affected version $VERSION, but local checks did not confirm both global IPv6 configuration and active IPv6 listeners"
exit 2
fi
fi
# Any odd branch between 12.6.5.1 and 12.7.2 that is not explicitly named is left as UNKNOWN.
echo "UNKNOWN: version $VERSION is not explicitly listed by the vendor advisory; verify branch/build against Securepoint release notes"
exit 2
If you remember one thing.
Sources
- Securepoint advisory for CVE-2024-41993
- Securepoint UTM changelog showing fix in 12.7.2
- Securepoint IDS/IPS documentation with Fail2Ban and connection-rate controls
- Securepoint CLI documentation (`system upgrade info`)
- CISA Known Exploited Vulnerabilities catalog
- Official CVE record page
- Feedly CVE tracker entry
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.