Este producto no es compatible con el sitio Datadog seleccionado. ().
Esta página aún no está disponible en español. Estamos trabajando en su traducción.
Si tienes alguna pregunta o comentario sobre nuestro actual proyecto de traducción, no dudes en ponerte en contacto con nosotros.

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

Integraciones sin problemas. Prueba Datadog Code Security