{"schemaVersion":3,"id":"CVE-2024-7775","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"The Contact Form by Bit Form: Multi Step Form, Calculation Contact Form, Payment Contact Form & Custom Contact Form builder plugin for WordPress is vulnerable to arbitrary JavaScript file uploads due to missing input validation in the addCustomCode function in versions 2.0 to 2.13.9. This makes it possible for authenticated attackers, with Administrator-level access and above, to upload arbitrary JavaScript files to the affected site's server.","dates":{"published":"2024-08-20T03:21:08.498Z","modified":"2024-08-20T13:47:52.933Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.5,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":4.8,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"wordfence","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00257,"percentile":0.1642,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.00257},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00257,"percentile":0.1642}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00257,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00257,"percentile":0.1642}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","description":"The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/79.html"}],"affected":[{"vendor":"bitapps","product":"contact_form_builder","name":"contact form builder","label":"contact_form_builder","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 2.0.0, < 2.13.10","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 2.0.0, < 2.13.10","eol":null,"hubHref":"/vendor/bitapps/contact_form_builder"},{"vendor":"bitpressadmin","product":"contact form by bit form: multi step form, calculation contact form, payment contact form & custom contact form builder","name":"Contact Form by Bit Form: Multi Step Form, Calculation Contact Form, Payment Contact Form & Custom Contact Form builder","label":"contact form by bit form: multi step form, calculation contact form, payment contact form & custom contact form builder","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 2.0, ≤ 2.13.9","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 2.0, ≤ 2.13.9","eol":null,"hubHref":null},{"vendor":"wordpress","product":"bit-form","name":"Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder","label":"bit-form","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 2.0, ≤ 2.13.9 (fixed in 2.13.10)","noFixRecorded":false,"fixedIn":"2.13.10"}],"versionsText":"≥ 2.0, ≤ 2.13.9 (fixed in 2.13.10)","eol":null,"hubHref":null}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3936d7dc-840e-41fc-8af4-db40c0cff660?source=cve","label":"www.wordfence.com/threat-intel/vulnerabilities/id/3936d7dc-840e-41fc-8af4-db40c0cff660?source=cve","hostname":"www.wordfence.com","tags":["Third Party Advisory"]},{"url":"https://plugins.trac.wordpress.org/browser/bit-form/tags/2.13.6/includes/Admin/AdminAjax.php#L1314","label":"plugins.trac.wordpress.org/browser/bit-form/tags/2.13.6/includes/Admin/AdminAjax.php","hostname":"plugins.trac.wordpress.org","tags":["Patch"]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3936d7dc-840e-41fc-8af4-db40c0cff660","label":"www.wordfence.com/threat-intel/vulnerabilities/id/3936d7dc-840e-41fc-8af4-db40c0cff660","hostname":"www.wordfence.com","tags":["Vendor Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2024-08-20T03:21:08.498Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2024-08-20T13:47:52.933Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":22,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T04:29:09.398Z","stale":false,"partial":false}}