apache / apache/cloudstack

[Hardening] F-12: Absence of Per-Account or Per-User Source CIDR Allowlist.

Open
#13,340 0 comments 0 reactions 0 assignees View on GitHub
type:new-feature
Dominant language
Java
Stars
3.1k
Forks
1.4k
Avg merge
6d 19h
Merged PRs (30d)
32

Description

### The required feature described as a wish

**Description:** CloudStack does not provide a built-in mechanism to restrict per-account or per-user access to a defined set of source IP addresses or CIDR ranges. Any IP address that can reach the management plane can attempt to authenticate as any account.

**Affected Components:** Management UI / API

**Impact:** Without source IP allowlisting, a stolen API key or compromised credential set can be used from any network location globally. There is no network-level control to limit the blast radius of a credential compromise. High-privilege service accounts are particularly at risk, as they can be accessed from unexpected locations without raising any flags.

**Steps to Reproduce:**
- This finding is not directly reproducible since it reflects the absence of a control.

**Recommended Remediation:** Implement a per-account or per-user source CIDR allowlist field in the data model. Requests originating from IPs outside the defined allowlist should be rejected and logged as a security event.

Contributor guide

Open the contributing guide

Research direction

The issue identifies the Management UI/API, the account or user data model, request source-IP checks, and security-event logging, but names no files or tests. Start by locating those entry points and tracing authentication and authorization for API requests. Done should include a defined per-account or per-user CIDR policy, rejection outside the policy, and logged security events with coverage for the relevant behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, authentication, authorization, backend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.