WP Manifestindependent plugin directory
manifest / integrations / custom-untappd-feeds

Custom Untappd Feeds WP Registry grade C-. High-severity findings · 1 findingWP RegistryHigh-severity findings · 1 findingOpen the reportC-

Unofficial Untappd plugin for WordPress.

★ 2stars
110release downloads
≈10active sites
v2018.12latest · 7 years ago

Install

Download custom-untappd-feeds.zip From the v2019.01-alpha release on GitHub, Dec 31, 2018

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

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/alexjustesen/custom-untappd-feeds/releases/download/v2019.01-alpha/custom-untappd-feeds.zip
Updates itself. It ships its own updater (Plugin Update Checker), so new versions appear under Dashboard → Updates.

Custom Untappd Feeds is a WordPress plugin that lets you display your Untappd data on your WordPress site. Includes views for your profile summary (check-in count, unique count, badge count and friend count), recent check-ins and recently earned badges. Donate :beers: or :coffee: to support the plugin.

Installation

  1. Download plugin zip file.
  2. Extract folder and contents to wp-content/plugins or upload via the admin panel.
  3. Activate the plugin.
  4. Follow the directions on the settings page to apply for an Untappd API app.
  5. Use the documentation page to configure the shortcodes.

Developer

Additional Requirements

  • Node Package Manager (NPM)

Installation

  1. Clone repo to wp-content/plugins.
  2. Run npm install from the custom-untappd-feeds directory to install plugin dependencies.
  3. Activate the plugin.

Change Log

v2019.01-alpha - December 30, 2018

  • Added GitHub Plugin Update Checker to auto update from GitHub releases
  • Removed admin page reliance on PureCSS
  • Overhauled admin pages and moved under single settings menu item
  • Can now delete single or all cached items
  • Tested through WP v5.0.2
  • Upgraded Font Awesome to v5.6.3

v2018.12 - December 4th, 2018

  • New user overview shortcode to combine the profile summary, recently earned badges and recent check-ins.
  • Improved caching and added cache timeout.
  • UI improvements to the widget header and recent check-ins.

v2018.12-beta2 - December 2nd, 2018

  • Fixed incorrect transient prefix reference
  • Removed duplicate html return

v2018.12-beta - November 28th, 2018

  • New User Overview shortcode to show the users basic info, badges and recent activity
  • Can now set custom api cache timeout
  • New transient caching based on md5 of url
  • Rewrite to transient handling for cached API calls
  • Bumped min WP version to v4.4 to support longer transient names
  • UI improvements to the widget header
  • UI improvements to the user activity feed widget
  • Load Font Awesome from their CDN to reduce plugin size
  • Updated version references

v2018.11 - November 15th, 2018

  • Switched to calendar versioning
  • Upgraded Font Awesome to v5.5.0
  • Fixed user badge display
  • Shortcode UI updates
  • Code improvements in the backend
  • Documentation updates

v0.1.0 - March 26th, 2018

  • Initial release, this plugin is still under development. Expect things to change, get added and removed from build to build.

Releases

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

Tag
Published
Assets
Downloads
Dec 31, 2018 7 years ago
custom-untappd-feeds.zip
16
v2018.12 latest
Dec 4, 2018 7 years ago
custom-untappd-feeds.zip
28
Dec 2, 2018 7 years ago
custom-untappd-feeds.zip
10
Nov 29, 2018 7 years ago
custom-untappd-feeds.zip
12
Nov 20, 2018 7 years ago
custom-untappd-feeds.zip
13
Nov 16, 2018 7 years ago
custom-untappd-feeds.zip
12
Nov 15, 2018 7 years ago
custom-untappd-feeds.zip
9
Mar 27, 2018 8 years ago
custom-untappd-feeds.zip
10

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

C- grade

Security

Custom Untappd Feeds 2019.01-alpha · audited by WP Registry

High-severity findings.

1 high
Audited release
2019.01-alpha
Findings
1
Worst severity
high
Content hash
8d0e0b6700d0a3d3b19bb608…

Findings

  • high Stored XSS via unescaped Untappd API fields in shortcode HTML

    xss_stored

    Custom_Untappd_Feeds_Shortcodes builds frontend markup by concatenating Untappd API JSON into HTML with no escaping. user_info/user_activity/user_badges/user_overview call get_body('/user/info|checkins|badges/' . $this->atts['user']) and then interpolate user_avatar, first_name, last_name, location, checkin_comment, beer_name, beer_label, brewery.contact.url, brewery_name, and badge image/title directly into <img src>, <a href>, and text nodes. Shortcodes are expanded on the_content after kses, so a user without unfiltered_html can still plant [custom-untappd-feeds view='user-info' user='ATTACKER'] (or user-activity / user-overview). An Author can publish that post; a Contributor can put it in a pending post that an administrator previews. The attacker controls the Untappd account named in user (profile name, location, check-in comments, and URLs the API returns). Because the shortcode return value is printed as page HTML, a <script> payload or attribute breakout (src/href quote escape, javascript: brewery URL, onerror on img) executes in every visitor session and in the previewing admin session. The user attribute is also concatenated unsanitized into the API path (query/path injection against api.untappd.com using the site's Client ID/Secret) but the observable XSS sink is the unescaped response body, not the attribute itself.

    includes/class-custom-untappd-feeds-shortcodes.php:164-168, 379-390

    Recommendation

    Treat every Untappd field as untrusted. Escape text with esc_html(), URLs with esc_url(), and attribute context with esc_attr() in shortcode_header, shortcode_footer, user_activity, user_badges, user_info, and user_overview. Sanitize the user shortcode attribute (sanitize_title / preg_replace to [A-Za-z0-9_-]) before concatenating it into the API path, and pass limit/activity-limit/badge-limit through absint with a cap. Reject view values outside the known switch cases (already done) and do not add a raw user echo.

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.