WP Manifestindependent plugin directory
manifest / content / disciple-tools-prayer-list

Disciple.Tools - Prayer List WP Registry grade C-. High-severity findings · 1 findingWP RegistryHigh-severity findings · 1 findingOpen the reportC-

Adds the ability for each user to make a personal prayer list from contacts and groups.

★ 0stars
223release downloads
≈10active sites
1.7latest · 4 years ago

Install

Download disciple-tools-prayer-list.zip From the 1.7 release on GitHub, Jan 22, 2022

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-prayer-list/releases/download/1.7/disciple-tools-prayer-list.zip
Updates itself. It ships its own updater (Plugin Update Checker), so new versions appear under Dashboard → Updates.

Plugin Banner

Prayer List

Purpose

This plugin adds the ability for each user to make a prayer list from contacts and groups. Each user can turn on this app in the settings area and build their own prayer list with tags. It creates a dedicated secure link that can be added to a home screen on a cell phone for easy prayer access.

Usage

Will Do

  • Make a daily, weekly, monthly prayer list from contacts, groups, and trainings
  • Make a micro app, enabled in the settings, for a multiplier to put on their phone home screen

Will Not Do

  • Pray for you

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.

Releases

9 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
1.7 latest
Jan 22, 2022 4 years ago
disciple-tools-prayer-list.zip
133
1.6
Jan 7, 2022 4 years ago
disciple-tools-prayer-list.zip
12
1.5
Jan 7, 2022 4 years ago
disciple-tools-prayer-list.zip
9
1.4
Dec 15, 2021 4 years ago
disciple-tools-prayer-list.zip
9
Oct 29, 2021 4 years ago
disciple-tools-prayer-list.zip
19
1.3
Sep 25, 2021 5 years ago
disciple-tools-prayer-list.zip
10
1.2
Sep 22, 2021 5 years ago
disciple-tools-prayer-list.zip
11
1.1
Sep 21, 2021 5 years ago
disciple-tools-prayer-list.zip
7
1.0
Sep 14, 2021 5 years ago
disciple-tools-prayer-calendar.zip
13

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

C- grade

Security

Disciple.Tools - Prayer List 1.7 · audited by WP Registry

High-severity findings.

1 high
Audited release
1.7
Findings
1
Worst severity
high
Content hash
8e39e2f3061591780ce611af…

Findings

  • high Unauthenticated IDOR on prayer-list REST: magic key never verified, parts.post_id is the only ACL

    auth_bypass

    DT_Prayer_List_Magic_Link::add_endpoints registers POST /wp-json/prayer_list_app/v1/daily with permission_callback __return_true. The inherited DT_Magic_Url_Base::authorize_url filter opens that URI to anonymous callers via dt_allow_rest_access, which is the intended magic-link pattern — but only if the SHA256 public_key in parts is bound to the claimed post_id. endpoint() never instantiates DT_Magic_URL or calls verify_rest_endpoint_permissions_on_post (the check later Disciple.Tools plugins use). After a missing-params check and dt_recursive_sanitize_array it switches on action and passes the client parts straight into SQL. endpoint_get_all / endpoint_get / endpoint_filter / endpoint_filter_lists all query dt_post_user_meta and dt_share WHERE user_id = parts.post_id and return post_title (contact/group names), tags, and prayer timestamps. The status query is broader than the prayer list: every record shared with that user that has overall_status, group_status, or status = 'active'. action=log takes an arbitrary post_id, loads it with DT_Posts::get_post($post_type, $post_id, true, false, true) (permissions skipped), copies location_grid into the row, and Disciple_Tools_Reports::insert() as the forged user_id. WordPress REST will not require a nonce because permission_callback is __return_true. User IDs are enumerable. Subscriber and unauthenticated visitors are equivalent here. Latest upstream 1.7 (and current master) still has this code.

    magic-link/magic-link.php:116-156,158-281,437-475

    Recommendation

    In permission_callback, instantiate DT_Magic_URL($this->root) and return $magic->verify_rest_endpoint_permissions_on_post($request) so the submitted public_key is resolved to a user_id and must match parts.post_id. Reject requests whose parts.root/type/meta_key do not match this app. In endpoint_log, require the target post_id to already be on that user's prayer list (dt_post_user_meta row) and do not call DT_Posts::get_post with check_permissions=false. Do not treat X-WP-Nonce as a substitute for the magic-key check.

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.