QuickTasker Security & Risk Analysis

wordpress.org/plugins/quicktasker

Task management plugin designed to help you organize your projects, streamline workflows, and get tasks done efficiently.

0 active installs v1.49.1 PHP 7.2.28+ WP 5.3+ Updated Mar 22, 2026
project-managementproject-managertask-boardtask-managementtask-manager
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is QuickTasker Safe to Use in 2026?

Generally Safe

Score 100/100

QuickTasker has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 1mo ago
Risk Assessment

The "quicktasker" plugin v1.48.1 presents a mixed security posture. On the positive side, it demonstrates strong adherence to secure coding practices, with a very high percentage of SQL queries using prepared statements and a significant majority of output being properly escaped. The absence of any recorded vulnerabilities or CVEs in its history is also a notable strength, suggesting a generally stable and well-maintained codebase.

However, significant concerns arise from the static analysis. The plugin exposes a substantial attack surface through its REST API, with 18 out of 101 routes lacking permission callbacks. This is further compounded by six identified taint flows with unsanitized paths, all of which are flagged as high severity. While no critical vulnerabilities are reported, these high-severity taint flows coupled with the unprotected REST API routes represent a considerable risk of potential privilege escalation or data manipulation if exploited. The plugin also has a single nonce check across its entry points, which is insufficient given the number of potential interaction points.

In conclusion, "quicktasker" v1.48.1 has good foundational security practices in place, particularly concerning SQL injection and output sanitization. However, the high number of unprotected REST API endpoints and the presence of critical taint flows with unsanitized paths introduce significant security weaknesses that require immediate attention. The clean vulnerability history is a positive indicator, but it does not negate the immediate risks identified in the code analysis.

Key Concerns

  • Unprotected REST API routes
  • High severity unsanitized taint flows
  • Insufficient nonce checks
Vulnerabilities
None known

QuickTasker Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

QuickTasker Release Timeline

v1.49.1Current
v1.49.0
v1.48.1
v1.48.0
v1.47.0
v1.46.0
v1.45.0
v1.44.0
v1.43.1
v1.43.0
v1.42.1
v1.42.0
v1.41.0
v1.40.0
v1.39.0
v1.38.0
v1.37.2
v1.37.1
v1.37.0
v1.36.0
Code Analysis
Analyzed Mar 17, 2026

QuickTasker Code Analysis

Dangerous Functions
0
Raw SQL Queries
2
349 prepared
Unescaped Output
1
10 escaped
Nonce Checks
1
Capability Checks
7
File Operations
5
External Requests
2
Bundled Libraries
0

SQL Query Safety

99% prepared351 total queries

Output Escaping

91% escaped11 total outputs
Data Flows · Security
6 unsanitized

Data Flow Analysis

6 flows6 with unsanitized paths
wpqt_register_api_routes (php\api\admin-api.php:41)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
18 unprotected

QuickTasker Attack Surface

Entry Points101
Unprotected18

REST API Routes 101

GET/wp-json/wpqt/v1pipelines/(?P<id>\d+)php\api\admin-api.php:48
GET/wp-json/wpqt/v1pipelinesphp\api\admin-api.php:83
POST/wp-json/wpqt/v1pipelinesphp\api\admin-api.php:104
PATCH/wp-json/wpqt/v1pipelines/(?P<id>\d+)php\api\admin-api.php:158
PATCH/wp-json/wpqt/v1pipelines/(?P<id>\d+)/set-primaryphp\api\admin-api.php:226
DELETE/wp-json/wpqt/v1pipelines/(?P<id>\d+)php\api\admin-api.php:271
GET/wp-json/wpqt/v1pipelines/(?P<id>\d+)/api-tokensphp\api\admin-api.php:319
POST/wp-json/wpqt/v1pipelines/(?P<id>\d+)/api-tokensphp\api\admin-api.php:348
DELETE/wp-json/wpqt/v1pipelines/(?P<id>\d+)/api-tokens/(?P<token_id>\d+)php\api\admin-api.php:452
GET/wp-json/wpqt/v1tasks/archivedphp\api\admin-api.php:495
GET/wp-json/wpqt/v1tasks/(?P<id>\d+)/logsphp\api\admin-api.php:554
PATCH/wp-json/wpqt/v1tasks/(?P<id>\d+)/movephp\api\admin-api.php:582
POST/wp-json/wpqt/v1tasksphp\api\admin-api.php:670
PATCH/wp-json/wpqt/v1tasks/(?P<id>\d+)php\api\admin-api.php:763
DELETE/wp-json/wpqt/v1tasks/(?P<id>\d+)php\api\admin-api.php:860
PATCH/wp-json/wpqt/v1tasks/(?P<id>\d+)/archivephp\api\admin-api.php:936
PATCH/wp-json/wpqt/v1tasks/(?P<id>\d+)/archive-restorephp\api\admin-api.php:999
PATCH/wp-json/wpqt/v1tasks/(?P<id>\d+)/donephp\api\admin-api.php:1068
PATCH/wp-json/wpqt/v1tasks/(?P<id>\d+)/focus-colorphp\api\admin-api.php:1163
POST/wp-json/wpqt/v1stagesphp\api\admin-api.php:1216
PATCH/wp-json/wpqt/v1stages/(?P<id>\d+)php\api\admin-api.php:1276
PATCH/wp-json/wpqt/v1stages/(?P<id>\d+)/movephp\api\admin-api.php:1336
DELETE/wp-json/wpqt/v1stages/(?P<id>\d+)php\api\admin-api.php:1389
PATCH/wp-json/wpqt/v1stages/(?P<id>\d+)/archive-tasksphp\api\admin-api.php:1433
GET/wp-json/wpqt/v1usersphp\api\admin-api.php:1486
GET/wp-json/wpqt/v1users/(?P<id>\d+)/extendedphp\api\admin-api.php:1508
POST/wp-json/wpqt/v1usersphp\api\admin-api.php:1545
GET/wp-json/wpqt/v1users/(?P<id>\d+)/tasksphp\api\admin-api.php:1598
POST/wp-json/wpqt/v1users/(?P<id>\d+)/tasks/(?P<task_id>\d+)php\api\admin-api.php:1626
DELETE/wp-json/wpqt/v1users/(?P<id>\d+)/tasks/(?P<task_id>\d+)php\api\admin-api.php:1729
PATCH/wp-json/wpqt/v1users/(?P<id>\d+)php\api\admin-api.php:1830
PATCH/wp-json/wpqt/v1users/(?P<id>\d+)/password-resetphp\api\admin-api.php:1897
PATCH/wp-json/wpqt/v1users/(?P<id>\d+)/statusphp\api\admin-api.php:1943
DELETE/wp-json/wpqt/v1users/(?P<id>\d+)php\api\admin-api.php:1994
PATCH/wp-json/wpqt/v1users/sessions/(?P<id>\d+)/statusphp\api\admin-api.php:2045
DELETE/wp-json/wpqt/v1users/sessions/(?P<id>\d+)php\api\admin-api.php:2079
GET/wp-json/wpqt/v1users/sessionsphp\api\admin-api.php:2108
GET/wp-json/wpqt/v1wp-usersphp\api\admin-api.php:2136
PATCH/wp-json/wpqt/v1wp-users/(?P<id>\d+)/capabilitiesphp\api\admin-api.php:2165
GET/wp-json/wpqt/v1logsphp\api\admin-api.php:2234
GET/wp-json/wpqt/v1global-logsphp\api\admin-api.php:2268
GET/wp-json/wpqt/v1commentsphp\api\admin-api.php:2347
POST/wp-json/wpqt/v1commentsphp\api\admin-api.php:2385
GET/wp-json/wpqt/v1custom-fieldsphp\api\admin-api.php:2486
POST/wp-json/wpqt/v1custom-fieldsphp\api\admin-api.php:2530
DELETE/wp-json/wpqt/v1custom-fields/(?P<custom_field_id>\d+)php\api\admin-api.php:2597
PATCH/wp-json/wpqt/v1custom-fields/(?P<custom_field_id>\d+)/valuephp\api\admin-api.php:2646
PATCH/wp-json/wpqt/v1custom-fields/(?P<custom_field_id>\d+)/default-valuephp\api\admin-api.php:2709
PATCH/wp-json/wpqt/v1custom-fields/(?P<custom_field_id>\d+)/restorephp\api\admin-api.php:2762
PATCH/wp-json/wpqt/v1settings/user-page-custom-stylesphp\api\admin-api.php:2814
GET/wp-json/wpqt/v1pipelines/(?P<id>\d+)/settingsphp\api\admin-api.php:2842
PATCH/wp-json/wpqt/v1pipelines/(?P<id>\d+)/settings/task-completion-done-restrictionphp\api\admin-api.php:2873
PATCH/wp-json/wpqt/v1archive/settings/task-cleanupphp\api\admin-api.php:2913
GET/wp-json/wpqt/v1pipelines/(?P<id>\d+)/overviewphp\api\admin-api.php:2950
GET/wp-json/wpqt/v1pipelines/(?P<id>\d+)/automationsphp\api\admin-api.php:2998
POST/wp-json/wpqt/v1pipelines/(?P<id>\d+)/automationsphp\api\admin-api.php:3029
PATCH/wp-json/wpqt/v1pipelines/(?P<id>\d+)/automations/(?P<automation_id>\d+)/activephp\api\admin-api.php:3087
DELETE/wp-json/wpqt/v1pipelines/(?P<id>\d+)/automations/(?P<automation_id>\d+)php\api\admin-api.php:3127
GET/wp-json/wpqt/v1automations/(?P<id>\d+)/logsphp\api\admin-api.php:3165
GET/wp-json/wpqt/v1pipelines/(?P<id>\d+)/webhooksphp\api\admin-api.php:3190
POST/wp-json/wpqt/v1pipelines/(?P<id>\d+)/webhooksphp\api\admin-api.php:3220
PATCH/wp-json/wpqt/v1webhooks/(?P<id>\d+)php\api\admin-api.php:3295
DELETE/wp-json/wpqt/v1webhooks/(?P<id>\d+)php\api\admin-api.php:3366
GET/wp-json/wpqt/v1pipelines/(?P<id>\d+)/labelsphp\api\admin-api.php:3420
POST/wp-json/wpqt/v1pipelines/(?P<id>\d+)/labelsphp\api\admin-api.php:3449
POST/wp-json/wpqt/v1pipelines/(?P<id>\d+)/tasks/(?P<task_id>\d+)/labelsphp\api\admin-api.php:3504
DELETE/wp-json/wpqt/v1pipelines/(?P<id>\d+)/tasks/(?P<task_id>\d+)/labels/(?P<label_id>\d+)php\api\admin-api.php:3583
PATCH/wp-json/wpqt/v1pipelines/(?P<id>\d+)/labels/(?P<label_id>\d+)php\api\admin-api.php:3659
DELETE/wp-json/wpqt/v1pipelines/(?P<id>\d+)/labels/(?P<label_id>\d+)php\api\admin-api.php:3719
GET/wp-json/wpqt/v1uploadsphp\api\admin-api.php:3774
POST/wp-json/wpqt/v1uploadsphp\api\admin-api.php:3808
DELETE/wp-json/wpqt/v1uploads/(?P<upload_id>\d+)php\api\admin-api.php:3896
POST/wp-json/wpqt/v1importphp\api\admin-api.php:3985
GET/wp-json/wpqt/v1/token/boardphp\api\token-api.php:38
PATCH/wp-json/wpqt/v1/token/boardphp\api\token-api.php:64
GET/wp-json/wpqt/v1/token/board/stagesphp\api\token-api.php:124
POST/wp-json/wpqt/v1/token/board/stagesphp\api\token-api.php:149
PATCH/wp-json/wpqt/v1/token/board/stages/(?P<stage_id>\d+)php\api\token-api.php:203
DELETE/wp-json/wpqt/v1/token/board/stages/(?P<stage_id>\d+)php\api\token-api.php:270
GET/wp-json/wpqt/v1/token/board/tasksphp\api\token-api.php:335
POST/wp-json/wpqt/v1/token/board/tasksphp\api\token-api.php:356
PATCH/wp-json/wpqt/v1/token/board/tasks/(?P<task_id>\d+)php\api\token-api.php:453
DELETE/wp-json/wpqt/v1/token/board/tasks/(?P<task_id>\d+)php\api\token-api.php:517
GET/wp-json/wpqt/v1user-page/statusphp\api\user-page-api.php:35
POST/wp-json/wpqt/v1user-page/setupphp\api\user-page-api.php:90
POST/wp-json/wpqt/v1user-page/loginphp\api\user-page-api.php:137
POST/wp-json/wpqt/v1user-page/logoutphp\api\user-page-api.php:191
GET/wp-json/wpqt/v1user-page/overviewphp\api\user-page-api.php:224
GET/wp-json/wpqt/v1user-page/assigned-tasksphp\api\user-page-api.php:250
GET/wp-json/wpqt/v1user-page/assignable-tasksphp\api\user-page-api.php:270
GET/wp-json/wpqt/v1user-page/tasks/(?P<task_hash>[a-zA-Z0-9]+)php\api\user-page-api.php:289
GET/wp-json/wpqt/v1user-page/tasks/(?P<task_hash>[a-zA-Z0-9]+)/commentsphp\api\user-page-api.php:333
POST/wp-json/wpqt/v1user-page/tasks/(?P<task_hash>[a-zA-Z0-9]+)/commentsphp\api\user-page-api.php:371
GET/wp-json/wpqt/v1user-page/user/commentsphp\api\user-page-api.php:471
GET/wp-json/wpqt/v1user-page/commentsphp\api\user-page-api.php:491
POST/wp-json/wpqt/v1user-page/user/commentsphp\api\user-page-api.php:511
POSTDELETE/wp-json/wpqt/v1user-page/tasks/(?P<task_hash>[a-zA-Z0-9]+)/usersphp\api\user-page-api.php:564
PATCH/wp-json/wpqt/v1user-page/tasks/(?P<task_hash>[a-zA-Z0-9]+)/stagephp\api\user-page-api.php:699
PATCH/wp-json/wpqt/v1user-page/tasks/(?P<task_hash>[a-zA-Z0-9]+)/donephp\api\user-page-api.php:789
GET/wp-json/wpqt/v1user-page/userphp\api\user-page-api.php:882
PATCH/wp-json/wpqt/v1user-page/custom-fields/(?P<custom_field_id>\d+)php\api\user-page-api.php:912
WordPress Hooks 24
actionplugins_loadedphp\actions.php:18
actionplugins_loadedphp\actions.php:25
actiontemplate_redirectphp\actions.php:39
actionafter_setup_themephp\actions.php:66
filtermultilingualpress.hreflang_typephp\actions.php:95
actionwp_enqueue_scriptsphp\actions.php:101
actionwp_print_scriptsphp\actions.php:119
actionwoocommerce_new_orderphp\actions.php:134
actionseatreg_action_booking_submittedphp\actions.php:251
actionseatreg_action_booking_manually_addedphp\actions.php:252
actionseatreg_action_booking_approvedphp\actions.php:262
actionseatreg_action_booking_pendingphp\actions.php:272
actionseatreg_action_booking_pending_via_managerphp\actions.php:282
actionseatreg_action_booking_approved_via_managerphp\actions.php:292
actionadmin_menuphp\admin-pages.php:7
actionrest_api_initphp\api\admin-api.php:39
actionrest_api_initphp\api\token-api.php:30
actionrest_api_initphp\api\user-page-api.php:32
actionplugins_loadedphp\db-seeder.php:9
actionadmin_enqueue_scriptsphp\enqueue-admin.php:16
actionwp_enqueue_scriptsphp\enqueue-user-page-public.php:15
filteradmin_body_classphp\filters.php:21
filtertemplate_includephp\filters.php:41
filterinitphp\filters.php:61
Maintenance & Trust

QuickTasker Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.0
Last updatedMar 22, 2026
PHP min version7.2.28
Downloads3K

Community Trust

Rating100/100
Number of ratings1
Active installs0
Developer Profile

QuickTasker Developer Profile

Siim Kirjanen

2 plugins · 400 total installs

100
trust score
Avg Security Score
100/100
Avg Patch Time
1 days
View full developer profile
Detection Fingerprints

How We Detect QuickTasker

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/quicktasker/dist/css/app.css/wp-content/plugins/quicktasker/dist/css/quicktasker-user-page.css/wp-content/plugins/quicktasker/dist/js/chunk-vendors.js/wp-content/plugins/quicktasker/dist/js/app.js/wp-content/plugins/quicktasker/dist/js/quicktasker-user-page.js/wp-content/plugins/quicktasker/dist/js/admin-app.js/wp-content/plugins/quicktasker/dist/js/admin-chunk-vendors.js
Script Paths
/wp-content/plugins/quicktasker/dist/js/chunk-vendors.js/wp-content/plugins/quicktasker/dist/js/app.js/wp-content/plugins/quicktasker/dist/js/quicktasker-user-page.js/wp-content/plugins/quicktasker/dist/js/admin-app.js/wp-content/plugins/quicktasker/dist/js/admin-chunk-vendors.js
Version Parameters
quicktasker/dist/css/app.css?ver=quicktasker/dist/css/quicktasker-user-page.css?ver=quicktasker/dist/js/chunk-vendors.js?ver=quicktasker/dist/js/app.js?ver=quicktasker/dist/js/quicktasker-user-page.js?ver=quicktasker/dist/js/admin-app.js?ver=quicktasker/dist/js/admin-chunk-vendors.js?ver=

HTML / DOM Fingerprints

CSS Classes
quicktasker-appwpqt-appwpqt-user-page-appwpqt-admin-app
HTML Comments
<!-- quicktasker start --><!-- quicktasker end -->
Data Attributes
data-vue-app
JS Globals
window.quicktaskerAppwindow.quicktaskerUserPageAppwindow.quicktaskerAdminApp
REST Endpoints
/wp-json/quicktasker/v1/settings/wp-json/quicktasker/v1/pipelines/wp-json/quicktasker/v1/tasks/wp-json/quicktasker/v1/stages/wp-json/quicktasker/v1/users/wp-json/quicktasker/v1/comments/wp-json/quicktasker/v1/labels/wp-json/quicktasker/v1/custom-fields/wp-json/quicktasker/v1/automations/wp-json/quicktasker/v1/logs/wp-json/quicktasker/v1/time/wp-json/quicktasker/v1/assets/wp-json/quicktasker/v1/webhooks/wp-json/quicktasker/v1/user-pages
FAQ

Frequently Asked Questions about QuickTasker