This product is not supported for your selected Datadog site. ().
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.

Metadata

ID: php-security/avoid-unserialize

Language: PHP

Severity: Notice

Category: Security

CWE: 502

Description

This rule warns against the use of the unserialize function without specifying allowed classes. Using unserialize on untrusted data can lead to serious security vulnerabilities, such as object injection attacks, which may allow attackers to execute arbitrary code or manipulate your application’s state.

To ensure safe usage, always provide the allowed_classes option when calling unserialize. This restricts the types of objects that can be instantiated during deserialization and helps prevent malicious payloads from being executed. For example, use unserialize like this: unserialize($input, ['allowed_classes' => ['stdClass', 'MyDataClass']]);. This approach enforces strict control over which classes are allowed, minimizing security risks while still enabling object deserialization when necessary.

Non-Compliant Code Examples

<?
$object = unserialize($input);
?>

Compliant Code Examples

<?
$object = unserialize($input, ['allowed_classes' => ['stdClass', 'MyDataClass']]);
?>
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

원활한 통합. Datadog Code Security를 경험해 보세요