WP Manifestindependent plugin directory
manifest / users / disciple-tools-autolink

Disciple.Tools - Autolink WP Registry grade D+. High-severity findings · 3 findingsWP RegistryHigh-severity findings · 3 findingsOpen the reportD+

★ 1stars
571release downloads
≈10active sites
1.0.11latest · 2 years ago

Install

Download disciple-tools-autolink.zip From the 2.0.0-rc.5 release on GitHub, Mar 1, 2025

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/discipletools/disciple-tools-autolink/releases/download/2.0.0-rc.5/disciple-tools-autolink.zip
Updates itself. It ships its own updater (Plugin Update Checker), so new versions appear under Dashboard → Updates.

Plugin Banner

Disciple.Tools - Autolink

A simple user interface for users to add churches and groups into Disciple Tools.

Purpose

The Autolink plugin provides a simple way to create a specialized link for each person that is leading churches or training leaders. You can then send that custom link to the leader who can enter information about the groups and churches that they are leading and their current health status.

This provides a quick and easy way for you to track the health of churches and groups without having to create user account and passwords, and training local leaders how to use Disciple Tools. You can collect the data you need quickly from one simple link.

Requirements

  • Disciple.Tools Theme installed on a Wordpress Server

Installing

  • Install as a standard Disciple.Tools/Wordpress plugin in the system Admin/Plugins area.
  • Requires the user role of Administrator.

Contribution

Contributions welcome. You can report issues and bugs in the Issues section of the repo. You can present ideas in the Discussions section of the repo. And code contributions are welcome using the Pull Request system for git. For a more details on contribution see the contribution guidelines.

Screenshots

screenshot screenshot screenshot

Releases

Newest 25 of 60 recorded releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
Mar 1, 2025 1 year ago
disciple-tools-autolink.zip
13
Feb 26, 2025 1 year ago
dt-autolink.zip
5
Sep 18, 2024 2 years ago
disciple-tools-autolink.zip
11
Jul 9, 2024 2 years ago
disciple-tools-autolink.zip
17
Jul 9, 2024 2 years ago
disciple-tools-autolink.zip
5
Jun 20, 2024 2 years ago
disciple-tools-autolink.zip
7
May 31, 2024 2 years ago
disciple-tools-autolink.zip
6
Apr 8, 2024 2 years ago
disciple-tools-autolink.zip
25
Apr 7, 2024 2 years ago
disciple-tools-autolink.zip
11
Apr 5, 2024 2 years ago
disciple-tools-autolink.zip
8
1.0.11 latest
Feb 20, 2024 2 years ago
disciple-tools-autolink.zip
69
Feb 20, 2024 2 years ago
disciple-tools-autolink.zip
5
Oct 26, 2023 2 years ago
disciple-tools-autolink.zip
36
Oct 26, 2023 2 years ago
disciple-tools-autolink.zip
8
Oct 26, 2023 2 years ago
disciple-tools-autolink.zip
7
Oct 26, 2023 2 years ago
disciple-tools-autolink.zip
6
Oct 26, 2023 2 years ago
disciple-tools-autolink.zip
7
Oct 25, 2023 2 years ago
disciple-tools-autolink.zip
6
Oct 25, 2023 2 years ago
disciple-tools-autolink.zip
7
Oct 23, 2023 3 years ago
disciple-tools-autolink.zip
8
Oct 23, 2023 3 years ago
disciple-tools-autolink.zip
6
Oct 23, 2023 3 years ago
disciple-tools-autolink.zip
7
Oct 22, 2023 3 years ago
disciple-tools-autolink.zip
7
Oct 22, 2023 3 years ago
disciple-tools-autolink.zip
7
Oct 22, 2023 3 years ago
disciple-tools-autolink.zip
5
All releases on GitHub →

Active-site estimate ≈10 comes from the median of recent superseded releases. Method.

D+ grade

Security

Disciple.Tools - Autolink 2.0.0-rc.5 · audited by WP Registry

High-severity findings.

1 high 2 medium
Audited release
2.0.0-rc.5
Findings
3
Worst severity
high
Content hash
56242a0d10cf7364c93dd847…

Findings

  • high Coaching-tree reparent allows any logged-in user to rewrite group hierarchy

    missing_capability

    POST /autolink/api/coaching-tree is gated only by LoggedIn + CheckShareCookie (no nonce, no DT can_update). The 403 fires only when $new_group is empty AND the group's assigned_to is not the current user. Supplying a real new_parent makes $new_group truthy, so the assignment check is skipped. The handler then DELETE/INSERT rows in $wpdb->p2p for p2p_type groups_to_groups using attacker-supplied self/previous_parent/new_parent. Observable: parent/child church tree on /autolink/coaching-tree and DT group parent_groups connections.

    src/Controllers/CoachingTreeController.php:76-131

    Recommendation

    Require DT_Posts::can_update on both groups, deny moves unless the user is assigned/shared, add Nonce middleware (action dt-autolink) to the API POST, and invert the permission condition so a valid destination does not skip the owner check.

  • medium IDOR read of arbitrary groups and contacts

    information_disclosure

    Authenticated GET /autolink/groups/{group_id}/modal returns JSON with DT_Posts::get_post('groups', $group_id, true, false) (permissions skipped) plus rendered modal HTML. GET /autolink/groups/{group_id}/edit and parent-group-field likewise call get_post/list_posts with check_permissions false, including DT_Posts::get_post('contacts', $leader_id, false, false) for attacker-supplied leaders[]. Sequential post IDs leak names, leaders, members, locations, health metrics, and related contact graphs. Consumer: al-ajax-form injects the HTML; the JSON 'post' object is used to initialize Mapbox/edit UI.

    src/Controllers/GroupController.php:91-98

    Recommendation

    Use DT_Posts::get_post/list_posts with check_permissions true (default) and return 403 when can_view fails. Do not accept arbitrary contact IDs in leaders[] without can_view.

  • medium State-changing Autolink API routes have no nonce

    csrf

    routes/api.php applies only LoggedIn and CheckShareCookie to POST /autolink/api/coaching-tree, POST /autolink/api/field, and POST /autolink/api/language. Frontend sends X-WP-Nonce: $autolink.nonce (action dt-autolink), but Nonce middleware is not registered on these routes (unlike web POST groups/survey and admin settings). Cookie-authenticated browsers will execute those POSTs. FieldController::update writes health_metrics/member_count/etc. via DT_Posts::update_post for id groups_{id}_{field}; CoachingTreeController::update rewrites p2p; LanguageController::switch updates the user's locale. SameSite=Lax reduces cross-site POST CSRF on modern browsers but does not replace a nonce on a cookie-auth API.

    routes/api.php:17-24

    Recommendation

    Attach the existing Nonce middleware (config plugin.nonce / header X-WP-Nonce) to all Autolink API POSTs, matching the web mutation group.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.