{"answers":{"affected":"","exploited":"There is no known exploitation of DRUPAL-CONTRIB-2020-012 in the wild and no public exploit code.","fix":"Change a configuration setting.","what":"DRUPAL-CONTRIB-2020-012 is a vulnerability in drupal/webform, published on 6 May 2020. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for DRUPAL-CONTRIB-2020-012 and fix it if it is affected.\n\nWhat it is: DRUPAL-CONTRIB-2020-012 is a vulnerability in drupal/webform, published on 6 May 2020. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of DRUPAL-CONTRIB-2020-012 in the wild and no public exploit code.\n\nAffected product: drupal/webform. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/DRUPAL-CONTRIB-2020-012/ (Markdown: https://insights.sbomify.com/DRUPAL-CONTRIB-2020-012/index.md)","id":"DRUPAL-CONTRIB-2020-012","markdown":"https://insights.sbomify.com/DRUPAL-CONTRIB-2020-012/index.md","name":"DRUPAL-CONTRIB-2020-012","record":{"aliases":[],"analysis":{"component_type":"cms_plugin","fix_type":"configuration_change","impacts":["data_read","account_takeover"],"network_reachable":"yes","non_default_config":false,"product_category":"Drupal Webform module","requires_auth":"low_privilege","summary":"A Drupal Webform module flaw allows low-privilege users to extract HMAC hashes, potentially enabling unauthorized access to restricted content or user accounts.","user_interaction":"not_required","vuln_class":"information_disclosure"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"This module enables you to build forms and surveys in Drupal.\n\nThe module doesn't sufficiently validate data submitted into Webform Signature element during webform submission creation. This allows a malicious user to generate and extract HMAC hashes for arbitrary data. Such HMAC hashes are used across multiple spots in Drupal 8 core and contrib modules.\n\nAn extracted HMAC hash could be used to view restricted site content or log in as another user in certain situations.\n\nThis vulnerability is mitigated by the fact that an attacker must be able to create a webform submission with \"Signature\" element and then be able to view the submission.\n\nFor Drupal instances that have \"Signature\" webform element available to users with low trust, it is advised to change the value of the hash salt within `settings.php` file to a new random value. Below we reference the specific extract from `settings.php` that is advised for change in such Drupal instances:\n\n```\n/**\n * Salt for one-time login links, cancel links, form tokens, etc.\n *\n * This variable will be set to a random value by the installer. All one-time\n * login links will be invalidated if the value is changed. Note that if your\n * site is deployed on a cluster of web servers, you must ensure that this\n * variable has the same value on each server.\n *\n * For enhanced security, you may set this variable to the contents of a file\n * outside your document root; you should also ensure that this file is not\n * stored with backups of your database.\n *\n * Example:\n * @code\n *   $settings['hash_salt'] = file_get_contents('/home/example/salt.txt');\n * @endcode\n */\n$settings['hash_salt'] = 'new-value-here';\n```","ecosystems":["Packagist:https://packages.drupal.org/8"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":true,"headline":"This module enables you to build forms and surveys in Drupal.","id":"DRUPAL-CONTRIB-2020-012","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":null,"product":null,"products":[],"type":"information_disclosure","year":"2020"},"n_packages":1,"n_references":null,"packages":[{"ecosystem":"Packagist:https://packages.drupal.org/8","fixed":["5.11.0"],"introduced":["0"],"last_affected":[],"package":"drupal/webform","purl":"pkg:composer/drupal/webform?repository_url=https:%2F%2Fpackages.drupal.org%2F8","source":"DRUPAL-CONTRIB-2020-012"}],"products":null,"published":"2020-05-06","related":[],"sources":[{"class":"attribution","licence":"MIT","name":"Drupal","prefix":"DRUPAL"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":"A Drupal Webform module flaw allows low-privilege users to extract HMAC hashes, potentially enabling unauthorized access to restricted content or user accounts.","url":"https://insights.sbomify.com/DRUPAL-CONTRIB-2020-012/"}