Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.
This repository was archived by the owner on May 29, 2026. It is now read-only.

[HIGH] H1: App/version Register creation bypasses OR checkRegisterManagePermission #157

Description

@rubenvdlinde

Severity: HIGH

Location: lib/Controller/ApplicationsController.php:1301 (findOrCreateRegister), lib/Service/ApplicationCreationService.php (per-version register creation)

Description:
Register creation during createApp / createFromTemplate calls $this->registerMapper->createFromArray([...]) directly. OR's checkRegisterManagePermission (default-secure, admin-only-create per OR #1949) is bypassed. Any authenticated user can mint OR Registers via these code paths even if an NC admin has revoked register-create privileges in OpenRegister.

OpenBuilt becomes a backdoor around OR's data-platform RBAC — a user denied Register creation in OR's admin panel can regain it by calling createApp through openbuilt.

Suggested fix:

  • Route register creation through RegistersController (or a shared service that replicates checkRegisterManagePermission).
  • Alternatively, run openbuilt's app-creation only under a service account with explicit register-create rights, and document that elevated permission requirement clearly.

Source: deep team-reviewer pass 2026-05-27

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions