- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
ID: javascript-node-security/detect-eval-with-expression
Language: JavaScript
Severity: Warning
Category: Security
The eval
function could execute malicious code if used with non-literal values. The argument provided to the eval
method could be used to execute malicious code. If an attacker manages to control the eval
argument they can execute arbitrary code.
In JavaScript, the eval()
function evaluates or executes an argument if it’s a string of JavaScript code. If this argument is influenced by user input or other external sources, it can lead to security vulnerabilities. Specifically, if an attacker can control or manipulate the value of the variable
in eval(variable)
, they can execute arbitrary code.
You should avoid using eval
at all costs, but if you face an advanced use case, use literal values that are under your control or sanitize the input. However, even then it is still recommended to avoid the use of eval
as it has led to security breaches before.
eval(a);
global.eval(a);
globalThis.eval(a);
const answer = eval(expression)
eval('alert()')
global.eval('a');
globalThis.eval('a');
|
|
For more information, please read the Code Analysis documentation
Identify code vulnerabilities directly in yourVS Code editor
Identify code vulnerabilities directly inJetBrains products