Commit Graph

1902 Commits

Author SHA1 Message Date
Mykyta Synelnikov 9ba4e4b8d4 Update 'ultimatemember_searchform' shortcode in Ultimate Member plugin
Refactored template, CSS and JS to fix the security vulnerability.
2026-01-28 11:52:06 +02:00
Mykyta Synelnikov fd44b978cf Refactor form sanitization to improve data handling.
Changed `wp_kses` to utilize 'user_description' instead of dynamic HTML templates, ensuring stricter sanitization. Introduced a new filter, `um_sanitize_form_submission`, for extending form sanitization logic, and preserved the original input in `$submission_input` for additional context.
2026-01-19 11:55:22 +02:00
Mykyta Synelnikov 690154b42f Fix critical security vulnerability in Ultimate Member plugin
Resolved CVE-2025-15064 by deprecating HTML usage in user descriptions. Updated plugin version to 2.11.2 across files and documentation, ensuring users are informed and prompted to upgrade immediately.
2025-12-30 11:12:01 +02:00
Mykyta Synelnikov 4b0e4eec25 Merge branch 'development/2.9.x' into fix/CVE-2025-13220 2025-12-16 17:13:37 +02:00
Mykyta Synelnikov 5bf8350840 Merge branch 'development/2.9.x' into fix/CVE-2025-13217 2025-12-16 17:12:10 +02:00
Mykyta Synelnikov a6d1a3f5c0 Merge branch 'development/2.9.x' into fix/CVE-2025-14081 2025-12-16 17:10:45 +02:00
Mykyta Synelnikov 6f47b19719 Reduce hash length and add user token management functions
Shortened directory hash length from 32 to 5 characters for efficiency. Introduced `set_user_hash` and `get_user_hash` functions to securely manage unique tokens for user cards, ensuring better organization and fallback mechanisms. Updated references to use the new user hash method where applicable.
2025-12-16 17:05:51 +02:00
Mykyta Synelnikov fc2c5456e4 Implement directory privacy settings and add rate limiting
Adds configurable privacy options for member directories, allowing restrictions on visibility based on roles or login status. Introduces rate limiting for unauthenticated AJAX requests to prevent brute-force attacks or abuse.
2025-12-11 17:36:42 +02:00
Mykyta Synelnikov ecfb652059 Fix: CVE-2025-14081 and update field filtering logic.
Addressed a security vulnerability (CVE-2025-14081) and enhanced the logic for filtering fields based on user permissions. Made `filter_fields_by_attrs` a private function for improved encapsulation.
2025-12-05 18:08:59 +02:00
Mykyta Synelnikov 302731f252 Fix: Address CVE-2025-13217 and improve input sanitization
Resolved CVE-2025-13217 by implementing proper input sanitization and escaping for iframe URLs in YouTube, Vimeo, and Google Maps embeds. This update ensures safer handling of user-provided links to mitigate potential security vulnerabilities.
2025-12-05 17:56:45 +02:00
Mykyta Synelnikov e9abab925f Fix security vulnerability CVE-2025-13220 in Ultimate Member.
Addressed CVE-2025-13220 by implementing necessary fixes in the plugin's shortcodes and updating sanitization for shortcode attributes. Removed redundant compatibility checks for WordPress versions earlier than 5.4 and improved stability in the shortcode handling logic.
2025-12-05 17:41:51 +02:00
Mykyta Synelnikov 3d5d27c588 Add $args and $user_id to 'um_after_profile_header_name'
Enhanced the action hook 'um_after_profile_header_name' by including `$args` and `$user_id` parameters. Updated documentation and examples to reflect these changes, enabling more flexible and detailed customization options for developers.
2025-12-02 10:27:13 +02:00
Mykyta Synelnikov 06139ea3e6 Update version to 2.11.0 across plugin files
Bump the plugin version from 2.10.7 to 2.11.0 in all relevant files, reflecting the latest release. This includes updates to documentation, metadata, changelogs, and file references to maintain consistency.
2025-12-01 11:54:23 +02:00
Mykyta Synelnikov 254c5d4782 Improve subnav link class handling in user profiles
Refactor the subnav link class generation to use an array-based approach. This ensures better flexibility and readability while adding the "active" class conditionally when needed.
2025-11-19 19:47:48 +02:00
Mykyta Synelnikov 53828dd76d Refactor profile cover hook to include $args parameter.
Updated the `um_cover_area_content` hook to pass an additional `$args` parameter for enhanced customization in the user profile cover wrapper. Improved the documentation for clarity and usability.
2025-11-18 14:20:50 +02:00
Mykyta Synelnikov 88607b854b Update dependencies and enhance emotize method
Bumps required plugin version dependencies for compatibility. Refactors the `emotize` method by adding a `$stripslashes` parameter to provide optional handling of string slashes, improving flexibility and functionality.
2025-11-07 14:18:38 +02:00
ashubawork e79dfef4d5 - fix emotize regex 2025-09-30 14:26:55 +03:00
ashubawork 4d2a992843 - allow webp image format 2025-09-22 12:48:39 +03:00
Mykyta Synelnikov 5c67164cc2 Fix cover image size handling and add fallback for invalid sizes
Improved logic to handle cases where the cover image size array is invalid or empty by adding a fallback default size. For mobile devices, the second size is used if available, or the first size is used as a fallback. This ensures proper cover size selection and prevents potential errors.
2025-09-06 14:42:15 +03:00
Mykyta Synelnikov 3cafd12137 Fix invalid 'start_of_week' handling in weekly events logic
Ensure 'start_of_week' option is validated as numeric to prevent incorrect calculations. This fixes potential issues when non-numeric values are stored in the option.
2025-09-05 15:24:28 +03:00
Mykyta Synelnikov 0845f55604 Fix: exclude empty meta values in directory filtering
Previously, empty `meta_value` entries were included in the query, potentially causing inaccurate results. This update adds a condition to exclude empty `meta_value` entries, ensuring more reliable directory filtering.
2025-06-27 14:24:08 +03:00
Mykyta Synelnikov d28642a657 Fix email validation logic in Ultimate Member forms
Updated the condition to ensure proper validation for secondary email fields. This change ensures unique email addresses and prevents potential conflicts in user data.
2025-06-25 18:09:48 +03:00
Mykyta Synelnikov 4d83a7eec3 Fix email validation logic in Ultimate Member forms
Updated conditions to handle empty and invalid email input more accurately. Ensures required emails are not skipped and includes stricter checks for existing or incorrect emails.
2025-06-25 16:24:14 +03:00
Mykyta Synelnikov 03725ffcff Add new hooks, refactor workflows, and deprecate unused functions
Introduced new filter hooks for primary button classes in forms and improved URL handling for password resets and account activations. Deprecated several unused functions and replaced them with updated alternatives to streamline the codebase. Updated documentation and templates accordingly.
2025-06-25 16:01:08 +03:00
Mykyta Synelnikov d3a5dc6acc Merge pull request #1713 from ultimatemember/fix/strip_shortcodes_in_submission
Fixes unstripped shortcodes in submission
2025-06-24 17:22:47 +03:00
Mykyta Synelnikov 213b419913 Fix user ID comparison with absint to ensure type safety
Updated the user ID comparison logic in the Ultimate Member plugin to use `absint` for both values. This prevents type mismatches and ensures robust validation during form submission.
2025-06-24 17:19:48 +03:00
Mykyta Synelnikov a102d22ce1 Prevent shortcode execution in user input sanitization.
Added `strip_shortcodes` across various sanitization routines to ensure user inputs do not execute shortcodes. This enhances security by blocking unintended shortcode processing in fields such as text, email, URLs, and form descriptions.
2025-06-24 17:16:28 +03:00
Mykyta Synelnikov 524670ad53 Merge pull request #1683 from ultimatemember/fix/sitehealth
Sitehealth
2025-06-24 16:56:38 +03:00
Mykyta Synelnikov d2dcfb645a Refactor debug information structure across plugins
Updated the structure of debug information methods by replacing `array_merge` with simpler array extensions and renaming variables for clarity. This ensures consistent handling of role metadata and improves readability and maintainability of code across multiple plugins.
2025-06-24 16:42:20 +03:00
Mykyta Synelnikov 82d22da1a3 Merge pull request #1712 from ultimatemember/fix/blocks_restrictions_settings
Restrictions for all blocks
2025-06-23 13:24:47 +03:00
Mykyta Synelnikov b71cf0c359 Filter out empty meta values in usermeta queries. Alternative of #1707
This update adds a condition to exclude empty `meta_value` entries in multiple queries within the member directory class. It ensures more accurate results and prevents potential issues caused by blank metadata in the `usermeta` table.
2025-06-23 12:45:55 +03:00
ashubawork 45c8593157 - fix restrictions for all blocks 2025-06-19 15:30:30 +03:00
Mykyta Synelnikov 032119a8ce Refactor batch action scheduling for account status updates (#1692)
Updated batch action logic to utilize correct constants and ensure proper scheduling. Added fallback scheduling logic in admin notices to address unscheduled batch actions and improve reliability.
2025-06-18 15:17:19 +03:00
Mykyta Synelnikov 53b0d479c8 Ensure email validation handles primary and secondary emails.
Added checks to enforce primary email requirement and prevent secondary email duplication with the primary email. Improved user lookup for unique email verification using meta queries.
2025-06-18 14:28:38 +03:00
Mykyta Synelnikov 25fcd0d97d Merge pull request #1708 from ultimatemember/fix/typo
Small typo fix
2025-06-18 13:26:51 +03:00
Mykyta Synelnikov ed5b162f88 Merge pull request #1710 from ultimatemember/fix/makedonia_country_name
Makedonia country name
2025-06-18 13:26:18 +03:00
Mykyta Synelnikov 31ee1452dd Merge pull request #1694 from ultimatemember/fix/fetch_user_while_password_reset_link
Refactor email placeholders and deprecate obsolete methods
2025-06-18 13:25:16 +03:00
ashubawork 056e9c2f73 - fix country name 2025-06-18 11:11:09 +03:00
ashubawork 1d3dde0141 - small typo fix 2025-06-16 10:05:04 +03:00
Mykyta Synelnikov 2368771617 Add filters for primary button classes in UM forms
Introduced new filters to customize CSS classes for primary buttons in login, registration, and password reset forms. This allows developers to extend button styling by applying custom classes via WordPress hooks. Changes enhance flexibility and improve theme compatibility.
2025-06-05 16:06:21 +03:00
Mykyta Synelnikov 723219e66a Remove unused UM login form shortcode logic.
The login form shortcode functionality was outdated and no longer in use. By removing it, the codebase is simplified and unnecessary complexity is eliminated. This improves maintainability and aligns with the current state of the plugin.
2025-06-05 01:41:50 +03:00
Mykyta Synelnikov 01c7bdf72e Add login shortcode and enhance button class filters
Introduce the `[um_login]` shortcode for rendering the login form, with backend logic for customization and error handling. Enhance flexibility by adding filters to dynamically modify primary button classes for login, register, and password-reset forms.
2025-06-04 17:39:27 +03:00
Mykyta Synelnikov bcfdbb954d Refactor email placeholders and deprecate obsolete methods
Streamline placeholder handling for emails by introducing universal patterns and replacements, and update email dispatch functions for efficiency. Deprecated various redundant user and password-related methods, consolidating logic into common utility classes for better maintainability.
2025-05-19 14:26:39 +03:00
Mykyta Synelnikov 6a134e881e Merge pull request #1691 from ultimatemember/security/CVE-2025-47691
Updates dynamic function blacklist for security enhancement
2025-05-15 01:09:52 +03:00
Mykyta Synelnikov 9804b92583 Refactor form request checks to simplify and optimize logic
Simplified conditional checks for password and account form submissions by replacing `isset` with `!empty` where applicable. This improves readability and reduces redundancy while maintaining functionality and security. Added comments to clarify nonce verification status.
2025-05-12 15:39:52 +03:00
Mykyta Synelnikov b3242fe9b0 Added docs 2025-05-12 13:25:24 +03:00
Mykyta Synelnikov 9d83fba560 Update dynamic function blacklist for security enhancement
Added a mechanism to dynamically retrieve and merge updated WordPress function lists into the blacklist to prevent unsafe usage in dropdown options. Addresses a security issue (CVE-2025-47691) by using a JSON-based function source tied to WordPress versioning.
2025-05-12 13:16:17 +03:00
ashubawork 0aae50db53 - fix password reset page check 2025-05-01 13:14:46 +03:00
ashubawork 8083ad4e99 - fix change email permissions 2025-04-30 12:02:03 +03:00
Mykyta Synelnikov db0da58351 Refactor password reset URL handling and email dispatch.
Added optional parameter to `reset_url` for user-specific handling. Updated email dispatch logic to include dynamic generation of the password reset link with proper placeholder replacements.
2025-04-23 14:35:38 +03:00