Connect with us

Hi, what are you looking for?

SecurityWeekSecurityWeek

Application Security

Academics Devise Open Source Tool For Hunting Node.js Security Flaws

A group of academic researchers have designed an open source Node.js bug hunting tool that has already identified 180 security vulnerabilities.

A group of academic researchers have designed an open source Node.js bug hunting tool that has already identified 180 security vulnerabilities.

Node.js is an open-source, cross-platform, environment for running JavaScript code outside the browser. It was designed for the development of network applications. While useful, many of the available Node.js packages contain unknown flaws leading to application compromise.

Now, academics from the Johns Hopkins University and Renmin University of China propose a new approach to finding security vulnerabilities in Node.js packages.

Inspired by the graph query-based approaches such as Code Property Graph (CPG), the researchers devised a novel graph structure called Object Dependence Graph (ODG), and also built an open-source prototype system called ‘ODGEN’, to use ODG for bug hunting.

ODG models JavaScript objects as nodes and represents their relations with Abstract Syntax Tree (AST) as edges.

“Specifically, ODG includes fine-grained data dependencies between objects, thus helping taint-style vulnerability detection such as command injection,” according to a research paper (.pdf) documenting the work.

Advertisement. Scroll to continue reading.

The new approach generates ODG using “flow- and context-sensitive static analysis with hybrid branch-sensitivity and points-to information”, the group said, noting that ODG can be used for the offline detection of various types of Node.js vulnerabilities.

ODGEN, which abstractly interprets all branches in parallel, was designed to define and lookup objects for AST nodes and record object definitions and lookups as part of ODG.

The researchers were able to configure ODGEN to identify six types of vulnerabilities, which has led to the discovery of “43 application-level zero-day vulnerabilities with 14 false positives and we also confirmed 137 package-level zero-day vulnerabilities with 84 false positives”.

A total of 70 Common Vulnerabilities and Exposures (CVE) identifiers have been issued for the identified security bugs.

Related: Security Firms Find Malicious PyPI Packages Designed for Data Theft

Related: GitHub Patches Security Flaws in Core Node.js Dependencies

Related: Snyk Warns of ‘Deliberate Sabotage’ of NPM Ecosystem

Written By

Ionut Arghire is an international correspondent for SecurityWeek.

Click to comment

Trending

Daily Briefing Newsletter

Subscribe to the SecurityWeek Email Briefing to stay informed on the latest threats, trends, and technology, along with insightful columns from industry experts.

In cyber-physical systems (CPS), just one hour of downtime can outweigh an entire annual security budget. Learn how to master the Return on Security Investment (ROSI) to align security goals with the bottom-line priorities.

Register

Delve into big-picture strategies to reduce attack surfaces, improve patch management, conduct post-incident forensics, and tools and tricks needed in a modern organization.

Register

People on the Move

Malwarebytes has named Chung Ip as Chief Financial Officer.

Semperis has appointed John Podboy as Chief Information Security Officer.

Randy Menon has become Chief Product and Marketing Officer at One Identity.

More People On The Move

Expert Insights

Daily Briefing Newsletter

Subscribe to the SecurityWeek Email Briefing to stay informed on the latest cybersecurity news, threats, and expert insights. Unsubscribe at any time.