{"id":"CVE-2021-32697","aliases":["EUVD-2021-1353","GHSA-m5vx-8chx-qvmm"],"status":"published","title":"Form validation can be skipped","description":"neos/forms is an open source framework to build web forms. By crafting a special `GET` request containing a valid form state, a form can be submitted without invoking any validators. Form state is secured with an HMAC that is still verified. That means that this issue can only be exploited if Form Finishers cause side effects even if no form values have been sent. Form Finishers can be adjusted in a way that they only execute an action if the submitted form contains some expected data. Alternatively a custom Finisher can be added as first finisher. This regression was introduced with https://github.com/neos/form/commit/049d415295be8d4a0478ccba97dba1bb81649567","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.01124,"percentile":0.66529,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2021-06-21T18:15:13Z","modified":"2026-10-20T10:54:42Z","fixes":[{"ecosystem":"Packagist","package":"neos/form","fixed_in":["4.3.3","5.0.9","5.1.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"neos/form","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.2.0"},{"fixed":"4.3.3"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"neos/form","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.0.0"},{"fixed":"5.0.9"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"neos/form","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.1.0"},{"fixed":"5.1.3"}]}]},{"source":"osv","ecosystem":"Packagist","package":"neos/form","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.2.0"},{"fixed":"4.3.3"}]}],"versions":["1.2.0","1.2.1","1.2.2","1.2.3","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","3.0.0","4.0.0","4.0.1","4.0.2","4.0.3","4.1.0","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.2.0","4.2.1","4.2.2","4.2.3","4.3.0","4.3.1","4.3.2"]},{"source":"osv","ecosystem":"Packagist","package":"neos/form","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.0.0"},{"fixed":"5.0.9"}]}],"versions":["5.0.0","5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.0.6","5.0.7","5.0.8"]},{"source":"osv","ecosystem":"Packagist","package":"neos/form","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.1.0"},{"fixed":"5.1.3"}]}],"versions":["5.1.0","5.1.1","5.1.2"]}],"products":[{"vendor":"neos","product":"form"}],"references":[{"url":"https://github.com/neos/form/security/advisories/GHSA-m5vx-8chx-qvmm","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/neos/form-ghsa-m5vx-8chx-qvmm/pull/1","tags":["x_refsource_MISC","x_transferred","Broken Link","fix","web"]},{"url":"https://github.com/neos/form/commit/049d415295be8d4a0478ccba97dba1bb81649567","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/neos/form/commit/69de4219b1f58157e2be6b05811463875d75c246","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/neos/form/releases/tag/5.1.3","tags":["x_refsource_MISC","x_transferred","Release Notes","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-32697","tags":["advisory"]},{"url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/neos/form/CVE-2021-32697.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-m5vx-8chx-qvmm"}],"sources":{"cve":[{"id":"CVE-2021-32697","title":"Form validation can be skipped","description":"neos/forms is an open source framework to build web forms. By crafting a special `GET` request containing a valid form state, a form can be submitted without invoking any validators. Form state is secured with an HMAC that is still verified. That means that this issue can only be exploited if Form Finishers cause side effects even if no form values have been sent. Form Finishers can be adjusted in a way that they only execute an action if the submitted form contains some expected data. Alternatively a custom Finisher can be added as first finisher. This regression was introduced with https://github.com/neos/form/commit/049d415295be8d4a0478ccba97dba1bb81649567","status":"published","published":"2021-06-21T18:15:13Z","modified":"2024-08-03T23:25:31.146Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:33:06.658806Z"}],"euvd":[{"id":"EUVD-2021-1353","description":"neos/forms is an open source framework to build web forms. By crafting a special `GET` request containing a valid form state, a form can be submitted without invoking any validators. Form state is secured with an HMAC that is still verified. That means that this issue can only be exploited if Form Finishers cause side effects even if no form values have been sent. Form Finishers can be adjusted in a way that they only execute an action if the submitted form contains some expected data. Alternatively a custom Finisher can be added as first finisher. This regression was introduced with https://github.com/neos/form/commit/049d415295be8d4a0478ccba97dba1bb81649567","status":"published","published":"2021-06-21T18:15:13Z","modified":"2024-08-03T23:25:31Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T03:24:36.41075Z"}],"ghsa":[{"id":"GHSA-m5vx-8chx-qvmm","title":"Form validation can be skipped","description":"### Impact\nBy crafting a special `GET` request containing a valid form state, a form can be submitted without invoking any validators.\nWe consider the severity _low_ because it is not possible to _change_ any form values since the form state is secured with an HMAC that is still verified.\nThat means that this issue can only be exploited if Form Finishers cause side effects even if no form values have been sent.\n\n### Patches\nhttps://github.com/neos/form/commit/69de4219b1f58157e2be6b05811463875d75c246\n\n### Workarounds\nForm Finishers can be adjusted in a way that they only execute an action if the submitted form contains some expected data.\nAlternatively a custom Finisher can be added as first finisher.\n\n### References\nThis regression was introduced with https://github.com/neos/form/commit/049d415295be8d4a0478ccba97dba1bb81649567\nOriginal report: https://tickets.neos.io/#ticket/zoom/411 (internal)","status":"published","published":"2021-06-22T15:15:08Z","modified":"2024-02-07T18:18:58Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:37:36.076201Z"}],"nvd":[{"id":"CVE-2021-32697","description":"neos/forms is an open source framework to build web forms. By crafting a special `GET` request containing a valid form state, a form can be submitted without invoking any validators. Form state is secured with an HMAC that is still verified. That means that this issue can only be exploited if Form Finishers cause side effects even if no form values have been sent. Form Finishers can be adjusted in a way that they only execute an action if the submitted form contains some expected data. Alternatively a custom Finisher can be added as first finisher. This regression was introduced with https://github.com/neos/form/commit/049d415295be8d4a0478ccba97dba1bb81649567","status":"published","published":"2021-06-21T19:15:08.073Z","modified":"2026-06-17T03:53:26.87Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:06:54.892562Z"}],"osv":[{"id":"CVE-2021-32697","description":"neos/forms is an open source framework to build web forms. By crafting a special `GET` request containing a valid form state, a form can be submitted without invoking any validators. Form state is secured with an HMAC that is still verified. That means that this issue can only be exploited if Form Finishers cause side effects even if no form values have been sent. Form Finishers can be adjusted in a way that they only execute an action if the submitted form contains some expected data. Alternatively a custom Finisher can be added as first finisher. This regression was introduced with https://github.com/neos/form/commit/049d415295be8d4a0478ccba97dba1bb81649567","status":"published","published":"2021-06-21T19:15:08.073Z","modified":"2026-10-20T10:54:42.974661225Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:19.793849Z"},{"id":"GHSA-m5vx-8chx-qvmm","title":"Form validation can be skipped","description":"### Impact\nBy crafting a special `GET` request containing a valid form state, a form can be submitted without invoking any validators.\nWe consider the severity _low_ because it is not possible to _change_ any form values since the form state is secured with an HMAC that is still verified.\nThat means that this issue can only be exploited if Form Finishers cause side effects even if no form values have been sent.\n\n### Patches\nhttps://github.com/neos/form/commit/69de4219b1f58157e2be6b05811463875d75c246\n\n### Workarounds\nForm Finishers can be adjusted in a way that they only execute an action if the submitted form contains some expected data.\nAlternatively a custom Finisher can be added as first finisher.\n\n### References\nThis regression was introduced with https://github.com/neos/form/commit/049d415295be8d4a0478ccba97dba1bb81649567\nOriginal report: https://tickets.neos.io/#ticket/zoom/411 (internal)","status":"published","published":"2021-06-22T15:15:08Z","modified":"2026-07-08T06:28:53.84451354Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:51.463834Z"}]}}
