openclaw - 💡(How to fix) Fix Security: requireAuth:false allows commands to bypass authorization checks [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#54287Fetched 2026-04-08 01:29:37
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Timeline (top)
closed ×1commented ×1labeled ×1locked ×1

Commands can declare requireAuth: false to bypass authorization checks entirely. The LINE channel "card" command explicitly uses this flag.

The authorization check is:

if (command.requireAuth !== false && !isAuthorizedSender) { ... }

Any command with this flag can be executed by unauthorized senders, bypassing the allowlist/pairing authorization model.

Root Cause

Commands can declare requireAuth: false to bypass authorization checks entirely. The LINE channel "card" command explicitly uses this flag.

The authorization check is:

if (command.requireAuth !== false && !isAuthorizedSender) { ... }

Any command with this flag can be executed by unauthorized senders, bypassing the allowlist/pairing authorization model.

Code Example

if (command.requireAuth !== false && !isAuthorizedSender) { ... }
RAW_BUFFERClick to expand / collapse

Summary

Commands can declare requireAuth: false to bypass authorization checks entirely. The LINE channel "card" command explicitly uses this flag.

The authorization check is:

if (command.requireAuth !== false && !isAuthorizedSender) { ... }

Any command with this flag can be executed by unauthorized senders, bypassing the allowlist/pairing authorization model.

Impact

Unauthorized users can execute commands that skip the allowlist/pairing model, potentially accessing agent capabilities without proper authentication.

Location

  • dist/pi-embedded-CbCYZxIb.js:66925 (authorization check)
  • dist/line-DGETnHu0.js:125 (LINE card command with requireAuth: false)

Suggested Fix

  1. Audit all requireAuth: false commands
  2. Ensure only truly public commands (help/info) skip auth
  3. Implement a separate "public commands" allowlist rather than a per-command auth bypass flag

extent analysis

Fix Plan

To address the authorization bypass issue, we will implement a separate "public commands" allowlist. Here are the steps:

  • Replace the requireAuth flag with a publicCommand flag
  • Create a publicCommands allowlist array
  • Update the authorization check to use the publicCommands allowlist

Example Code

// Define public commands allowlist
const publicCommands = ['help', 'info'];

// Update command definitions
const commands = [
  {
    name: 'help',
    publicCommand: true,
    // ...
  },
  {
    name: 'info',
    publicCommand: true,
    // ...
  },
  // ...
];

// Update authorization check
if (!publicCommands.includes(command.name) && !isAuthorizedSender) {
  // Handle unauthorized access
}

Verification

To verify the fix, test the following scenarios:

  • Execute a public command (e.g., help) as an unauthorized user
  • Execute a non-public command as an unauthorized user
  • Ensure that only public commands are executable by unauthorized users

Extra Tips

  • Regularly review and update the publicCommands allowlist to ensure it remains accurate and secure.
  • Consider implementing additional logging and monitoring to detect potential authorization bypass attempts.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Security: requireAuth:false allows commands to bypass authorization checks [1 comments, 2 participants]