This vulnerability occurs when a system incorrectly assigns or fails to verify which user or process rightfully controls a specific object or resource.
At its core, this flaw is about broken trust in access control. It happens when software doesn't properly track or validate the true 'owner' of a file, memory block, database record, or system object. This can allow unauthorized users to delete, modify, or access resources they shouldn't, simply because the system believes they own them. Think of it as handing your house keys to a stranger because a faulty system incorrectly listed them as the homeowner. For developers, the main risk is that operations which should be restricted to a resource's creator—like deletion or permission changes—become available to others. To prevent this, always explicitly validate ownership through a trusted authority (like a kernel or central service) before performing sensitive actions. Never rely on unverified user-supplied claims or transient identifiers that can be forged or reused. Implement clear, centralized ownership lifecycle management for all critical resources.
Impact: Gain Privileges or Assume Identity
pythonpython
#Check process owner against requesting user* if getProcessOwner(processID) == user: ``` os.kill(processID, signal.SIGKILL) return else: print("You cannot kill a process you don't own") return