Skip to content

fix(security): escape LIKE pattern wildcards in admin user search and courses (#533) - #549

Closed
lmduy2612 wants to merge 1 commit into
ChainLearnOfficial:mainfrom
lmduy2612:fix/admin-user-search-escape-like-533
Closed

lmduy2612 wants to merge 1 commit into
ChainLearnOfficial:mainfrom
lmduy2612:fix/admin-user-search-escape-like-533

Conversation

@lmduy2612

Copy link
Copy Markdown

Summary

Closes #533.

Prevents SQL/ORM wildcard injection in ilike queries by introducing a shared escapeLikePattern utility and applying it to admin user search (AdminUsersService.listUsers) and course search (CourseService.listCourses).

Changes Made

  • Added escapeLikePattern helper in src/utils/sanitize.ts to escape %, _, and \ special characters.
  • Applied escapeLikePattern to search queries in src/modules/admin/admin-users.service.ts for users.stellarAddress and users.displayName.
  • Standardized src/modules/courses/course.service.ts to use escapeLikePattern.
  • Added unit tests in tests/unit/utils/sanitize.test.ts verifying escaping behavior for wildcards and preservation of standard alphanumeric strings (11/11 tests passing).

Acceptance Criteria

  • Escape LIKE pattern characters in admin user search
  • Apply the same fix to ilike queries across the codebase
  • Add a shared utility function for LIKE pattern escaping

@DeFiVC DeFiVC closed this Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Escape LIKE patterns in admin user search

2 participants