WP Manifestindependent plugin directory
manifest / themes / uconn-banner-wp

UConn Banner WP Registry grade B. Medium-severity findings · 2 findingsWP RegistryMedium-severity findings · 2 findingsOpen the reportB

Inserts the UConn header branding at the top of your Wordpress site.

★ 2stars
31release downloads
≈10active sites
14composer installs
v1.2.0latest · 9 years ago

Install

Download uconn-banner-wp.zip From the v1.0.2 release on GitHub, Apr 3, 2014

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

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/uconn/uconn-banner-wp/releases/download/v1.0.2/uconn-banner-wp.zip

On Packagist as uconn/uconn-banner-wp:

composer require uconn/uconn-banner-wp
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

UConn Banner for Wordpress

Inserts the UConn header branding at the top of your Wordpress site.

Features

  • Github Updates.
  • Stylesheets referenced through the UConn CDN.

Installation

Download the latest build of the Wordpress UConn Banner Plugin from UConn's brand website, or follow the instructions below to install the plugin from GitHub.

  1. In an empty folder, run the command git clone git://github.com/uconn/uconn-banner-wp.git
  2. cd uconn-banner-wp and run composer install
  3. Copy the uconn-banner-wp directory into your wp-content/plugins directory
  4. In Wordpress, navigate to the Plugins dashboard page
  5. Locate the plugin named UConn Banner and click on Activate
  6. Place the action <?php do_action('uconn_banner'); ?> into your theme's header.php file after the opening <body> tag. This file can be found by navigating to Appearance -> Editor and looking for the header.php file in the right column.

Upgrading

There are two ways of upgrading the plugin. You may follow the installation instructions and upload uconn-banner-wp, replacing the old version in your wp-content/plugins directory or if you still have the original cloned repository in a folder, you can run the command git pull to pull in the most recent changes from GitHub.

Development

# Clone the repo
$ git clone git://github.com/uconn/uconn-banner-wp.git && cd uconn-banner-wp

# Install Composer dependencies (including WordPress)
$ composer install

# Boot the docker instance
$ docker-compose up

# Open WordPress in your browser
$ open http://localhost/

# Then follow steps 4 and 5 from the Installation instructions above.

License

The MIT License (MIT)

Copyright (c) 2014 University Communications at UConn

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Releases

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

Tag
Published
Assets
Downloads
v1.2.0 latest
Apr 26, 2017 9 years ago
tag only
—
Jul 7, 2015 11 years ago
tag only
—
Jul 18, 2014 12 years ago
tag only
—
Apr 3, 2014 12 years ago
uconn-banner-wp.zip
12
Feb 19, 2014 12 years ago
uconn-banner-wp-build.tar.gz +1 language pack
17
uconn-banner-wp-build.tar.gz8
uconn-banner-wp-build.zip9
Nov 20, 2013 12 years ago
uconn-banner-wp.zip +1 language pack
16
uconn-banner-wp.zip10
uconn-banner-wp.tar.gz6

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

B grade

Security

UConn Banner 1.0.0 · audited by WP Registry

Medium-severity findings.

1 medium 1 low
Audited release
1.0.0
Findings
2
Worst severity
medium
Content hash
db37cfb6229f1ce855d7cc9e…

Findings

  • medium Bundled SimpleTest/php-liquid test and example PHP is unauthenticated and runs exec/ls

    dev_tool_in_production

    The v1.0.2 zip vendors the entire php-liquid repository, including SimpleTest 1.x and example scripts, under a web-accessible plugins path with no index.php or ABSPATH/WPINC guard. An unauthenticated GET to vendor/php-liquid/test/simpletest/test/visual_test.php constructs a TestSuite and runs it (lines 473–494). TestOfVisualShell::testDump calls $this->execute('ls') and execute('dir') then dumpOutput(), which prints the PHP process working-directory listing into an HTML <pre> (information disclosure of plugin/site files). Direct GET to shell_test.php (autorun.php shutdown) execs hardcoded 'echo Hello' and 'blurgh! 2>&1'. GET all_tests.php additionally loads live_test.php (fsockopen to www.lastcraft.com:80) and acceptance_test.php (SimpleBrowser HTTP to http://www.lastcraft.com/test/). GET vendor/php-liquid/test/test.php runs the full Liquid unit suite and dumps paths. Commands are not attacker-controlled (not RCE), but this is production debug surface: unauth exec, outbound connections, CWD listing, and CPU DoS. Remove test/ and example/ from the distributed plugin, or deny PHP execution in those directories.

    vendor/php-liquid/test/simpletest/test/visual_test.php:388-400

    Recommendation

    Do not ship vendor/php-liquid/test, vendor/php-liquid/example, or SimpleTest in the production zip. Keep only the Liquid library files the banner renderer needs. Add index.php silencers (or a deny-PHP .htaccess) under vendor/. If tests must remain for developers, gate them on WP_DEBUG and php_sapi_name()==='cli'.

  • low Department title and URL saved unsanitized and echoed unescaped via Liquid

    xss_stored

    uconnbanner_options_validate only checks whether department_title and department_url are the empty string; it does not sanitize_text_field or esc_url_raw. views/public.php passes those values (and get_bloginfo('name')) into LiquidTemplate::render. php-liquid does not auto-escape; LiquidStandardFilters::escape exists but banner.html does not apply it. The template outputs <a href="{{ site.department_url }}">{{ site.department }}</a>, so HTML or javascript: URLs persist into the frontend banner. The admin form also echoes the stored values into input value attributes without esc_attr. Write path is register_setting → options.php with manage_options and a settings_fields nonce, so a Subscriber cannot set the option. On single-site, administrators typically have unfiltered_html already; the practical extra risk is multisite site admins (manage_options, often no unfiltered_html) or defense-in-depth if an admin session is abused. Not a below-admin stored-XSS.

    views/public.php:21-34

    Recommendation

    In uconnbanner_options_validate, sanitize department_title with sanitize_text_field and department_url with esc_url_raw. Escape on output (esc_html / esc_url) before passing assigns into Liquid, or apply Liquid escape filters in banner.html. Echo stored values in views/admin.php with esc_attr.

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.