Android security tags, read closely by Lightrion

CVE-2024-49734 AI-generated analysis

platform/packages/modules/Connectivity (ConnectivityService, BpfNetMaps ingress discard rules) and platform/frameworks/libs/net (Struct, InetAddressUtils)

AI-generated: written from the bulletin and the fixing diffs by claude-fable-5-1, then checked against the code by claude-opus-5-5 (7 corrections). Verify against the commit before relying on it.

ConnectivityService now installs ingress discard rules (via mBpfNetMaps.setIngressDiscardRule) so that packets to an address used only by a VPN interface are dropped when they arrive on a non-VPN interface. Two frameworks/libs/net changes accompany it and keep IPv4-mapped IPv6 addresses as Inet6Address.

Root cause

Before the fix, ConnectivityService had no way to reject traffic to a VPN interface's addresses when it arrived on other interfaces. updateLinkProperties called only updateVpnFiltering, and the destroy path had no related cleanup. So a packet sent to the VPN-assigned address could be accepted through a non-VPN interface. Separately, Struct.java parsed Type.Ipv6Address fields with InetAddress.getByAddress, which turns a v4-mapped v6 byte array into an Inet4Address.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to January 2025 · Findings