Back to Checks
e2enetworks

E2E Networks public or addon IPs are attached to a resource

network_reserveip_orphaned_public_ip
Service: networkSeverity: medium
OfficialBuilt-inVerified
Categories:internet-exposed
Resource Type:NotDefined

E2E Networks public and addon reserved IP addresses should be attached to a resource, identifying orphaned addresses that remain internet-reachable without an owner.

Risk

Orphaned public IPs remain internet-reachable resources that can be misused or reassigned without ownership controls, expanding the attack surface.

Run this check with Prowler

Run in Prowler Cloud
Run
prowler e2enetworks --checks network_reserveip_orphaned_public_ip

Recommendation

Attach orphaned public or addon IPs to a resource, or delete them to remove unused internet-reachable addresses.

Check Code

from prowler.lib.check.models import Check, CheckReportE2eNetworks
from prowler.providers.e2enetworks.services.network.network_client import network_client


class network_reserveip_orphaned_public_ip(Check):
    """Check if E2E Networks public or addon IPs are attached."""

    def execute(self) -> list[CheckReportE2eNetworks]:
        findings = []
        for ip in network_client.reserved_ips:
            if ip.reserved_type not in ("PublicIP", "AddonIP"):
                continue
            report = CheckReportE2eNetworks(metadata=self.metadata(), resource=ip)
            report.status = "PASS"
            report.status_extended = (
                f"Reserved IP {ip.ip_address} is attached to a resource."
            )
            if ip.status != "Attached" or ip.vm_id is None:
                report.status = "FAIL"
                report.status_extended = (
                    f"Reserved IP {ip.ip_address} is orphaned (status: {ip.status})."
                )
            findings.append(report)
        return findings