Changeset 3760851 for ai-engine/trunk/classes/api.php
- Timestamp:
- 10/23/2026 03:27:20 AM (13 days ago)
- File:
-
- 1 edited
-
ai-engine/trunk/classes/api.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ai-engine/trunk/classes/api.php
r3733781 r3760851 23 23 */ 24 24 private function sanitize_rest_options( $options ) { 25 return Meow_MWAI_Core::sanitize_rest_params( $options ); 25 $options = Meow_MWAI_Core::sanitize_rest_params( $options ); 26 // Any logged-in user reaches the Public API by default, and an MCP server attached here 27 // runs with its stored token (the site's own MCP acts as an admin), so tools stay with 28 // administrators. The bearer token signs in as one, so it keeps them. Keys compared in 29 // canonical form, since inject_params() accepts snake_case too (CVE-2026-96561). 30 if ( !current_user_can( 'manage_options' ) ) { 31 foreach ( array_keys( $options ) as $key ) { 32 if ( in_array( strtolower( Meow_MWAI_Query_Base::canonical_key( (string) $key ) ), [ 'mcpservers', 'tools', 'functions' ], true ) ) { 33 unset( $options[$key] ); 34 } 35 } 36 } 37 return $options; 26 38 } 27 39 … … 460 472 $message = isset( $params['prompt'] ) ? $params['prompt'] : ''; 461 473 } 462 $options = isset( $params['options'] ) ? $params['options'] : [];474 $options = $this->sanitize_rest_options( isset( $params['options'] ) ? $params['options'] : [] ); 463 475 $resolution = isset( $params['resolution'] ) ? $params['resolution'] : ''; 464 476 $scope = isset( $params['scope'] ) ? $params['scope'] : 'public-api'; … … 495 507 } 496 508 $mediaId = isset( $params['mediaId'] ) ? intval( $params['mediaId'] ) : 0; 497 $options = isset( $params['options'] ) ? $params['options'] : [];509 $options = $this->sanitize_rest_options( isset( $params['options'] ) ? $params['options'] : [] ); 498 510 $resolution = isset( $params['resolution'] ) ? $params['resolution'] : ''; 499 511 $scope = isset( $params['scope'] ) ? $params['scope'] : 'public-api';
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)