On January 9, 2022, journalist and researcher Ax Sharma wrote an article, "Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps".
From Ax:
Users of popular open-source libraries 'colors' and 'faker' were left stunned after they saw their applications, using these libraries, printing gibberish data and breaking. Some surmised if the NPM libraries had been compromised, but it turns out there's much more to the story.
The developer of these libraries intentionally introduced an infinite loop that bricked thousands of projects that depend on 'colors' and 'faker.'
The colors library receives over 20 million weekly downloads on npm alone and has almost 19,000 projects relying on it. Whereas, faker receives over 2.8 million weekly downloads on npm, and has over 2,500 dependents.
JupiterOne response to our clients
We have created a set of J1 queries for our customers to quickly find if they are using the affected libraries. If you aren't using J1 yet, you can get a free lifetime license and run the queries immediately.
To ingest NPM dependency data into your graph, you could use the npm-inventory script from our secops-automation-examples repo.
Find vulnerable 'faker' packages
This query searches for known-vulnerable npm 'faker' packages:
Find npm_package
with displayName='faker'
that USES as u CodeRepo
where u.version='6.6.6'
return TREE
Find vulnerable 'colors' packages
This query searches for known-vulnerable npm 'faker' packages:
Find npm_package
with displayName='colors'
that USES as useRelationship CodeRepo
WHERE useRelationship.version = ('1.4.2' OR '1.4.1' OR '1.4.44-liberty-2')
return TREE
If you'd like to be notified as more Rapid-Response announcements are created, please sign up for the newsletter.