Shopify / Shopify/liquid

Question about CVE or disclosure of security issues with Liquid <= 2.5.1?

Open
#1,460 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ruby
Stars
11.9k
Forks
1.5k
Avg merge
17h 55m
Merged PRs (30d)
3

Description

I am a security researcher who was working on a bug bounty program recently which was leveraging Liquid 2.4.1. In the course of the research I determined that there were a number of issues which were fixed in later versions of Liquid, but not disclosed as a CVE, and therefore, this program (and others) may not have any way to identify that this version of Liquid was at risk.

Specific issues I was looking at were: #230, #274

Should these issues be disclosed via CVE or similar mechanism so that customers who are running these versions can be aware of the risk (albeit unlikely) of an RCE via these vulnerabilities? I recognize that there was a strong recommendation made to upgrade, and in fact these fixes were cherry-picked for backport to 2.5.x but not earlier versions.

In my research I was able to develop an RCE for each of these issues under specific circumstances (which I am not planning to disclose), but it demonstrated that these could be exploited given the right circumstances.

Related to this (or perhaps not), should there be a list of security best practices for Liquid integrators (i.e. how to use Drops, things you should / should not do in accessor methods or filters) which would make sense to put together?

Thanks for your consideration!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing issues #230 and #274 and the question about CVE disclosure for Liquid versions <= 2.5.1. Determine whether the project should document a disclosure decision and security best practices for integrators, including guidance on Drops, accessors, and filters. Done means the requested policy or documentation scope is clearly decided.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
security
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.