{"id":"CVE-2021-33191","aliases":["EUVD-2021-19906","GHSA-h5f6-7m57-f2rg"],"status":"published","title":"MiNiFi CPP arbitrary script execution is possible on the agent's host machine through the c2 protocol","description":"From Apache NiFi MiNiFi C++ version 0.5.0 the c2 protocol implements an \"agent-update\" command which was designed to patch the application binary. This \"patching\" command defaults to calling a trusted binary, but might be modified to an arbitrary value through a \"c2-update\" command. Said command is then executed using the same privileges as the application binary. This was addressed in version 0.10.0","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.04024,"percentile":0.90659,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-78"],"published":"2021-08-24T11:20:09Z","modified":"2026-10-24T14:31:36Z","products":[{"vendor":"apache","product":"nifi_minifi_c\\+\\+"},{"vendor":"apache software foundation","product":"apache nifi - minifi c++"}],"references":[{"url":"https://www.openwall.com/lists/oss-security/2021/08/24/1","tags":["x_refsource_MISC","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2021/08/24/1","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"https://lists.apache.org/thread.html/r6f27a2454f5f67dbe4e21c8eb1db537b01863a0bc3758f28aa60f032%40%3Cannounce.apache.org%3E","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-33191"},{"url":"https://lists.apache.org/thread.html/r6f27a2454f5f67dbe4e21c8eb1db537b01863a0bc3758f28aa60f032@%3Cannounce.apache.org%3E"},{"url":"https://github.com/advisories/GHSA-h5f6-7m57-f2rg"}],"sources":{"cve":[{"id":"CVE-2021-33191","title":"MiNiFi CPP arbitrary script execution is possible on the agent's host machine through the c2 protocol","description":"From Apache NiFi MiNiFi C++ version 0.5.0 the c2 protocol implements an \"agent-update\" command which was designed to patch the application binary. This \"patching\" command defaults to calling a trusted binary, but might be modified to an arbitrary value through a \"c2-update\" command. Said command is then executed using the same privileges as the application binary. This was addressed in version 0.10.0","status":"published","published":"2021-08-24T11:20:09Z","modified":"2024-08-03T23:42:20.264Z","cwes":["CWE-78"],"updated_at":"2026-11-02T14:33:10.204494Z"}],"euvd":[{"id":"EUVD-2021-19906","description":"From Apache NiFi MiNiFi C++ version 0.5.0 the c2 protocol implements an \"agent-update\" command which was designed to patch the application binary. This \"patching\" command defaults to calling a trusted binary, but might be modified to an arbitrary value through a \"c2-update\" command. Said command is then executed using the same privileges as the application binary. This was addressed in version 0.10.0","status":"published","published":"2021-08-24T11:20:09Z","modified":"2024-08-03T23:42:20Z","updated_at":"2026-11-03T03:24:34.73748Z"}],"ghsa":[{"id":"GHSA-h5f6-7m57-f2rg","title":"From Apache NiFi MiNiFi C++ version 0.5.0 the c2 protocol implements an \"agent-update\" command...","description":"From Apache NiFi MiNiFi C++ version 0.5.0 the c2 protocol implements an \"agent-update\" command which was designed to patch the application binary. This \"patching\" command defaults to calling a trusted binary, but might be modified to an arbitrary value through a \"c2-update\" command. Said command is then executed using the same privileges as the application binary. This was addressed in version 0.10.0","status":"published","published":"2022-05-24T19:12:05Z","modified":"2023-01-30T05:01:38Z","cwes":["CWE-78"],"updated_at":"2026-11-02T14:46:27.385606Z"}],"nvd":[{"id":"CVE-2021-33191","description":"From Apache NiFi MiNiFi C++ version 0.5.0 the c2 protocol implements an \"agent-update\" command which was designed to patch the application binary. This \"patching\" command defaults to calling a trusted binary, but might be modified to an arbitrary value through a \"c2-update\" command. Said command is then executed using the same privileges as the application binary. This was addressed in version 0.10.0","status":"published","published":"2021-08-24T12:15:07.307Z","modified":"2026-06-17T03:54:19.737Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:06:57.318236Z"}],"osv":[{"id":"CVE-2021-33191","description":"From Apache NiFi MiNiFi C++ version 0.5.0 the c2 protocol implements an \"agent-update\" command which was designed to patch the application binary. This \"patching\" command defaults to calling a trusted binary, but might be modified to an arbitrary value through a \"c2-update\" command. Said command is then executed using the same privileges as the application binary. This was addressed in version 0.10.0","status":"published","published":"2021-08-24T12:15:07.307Z","modified":"2026-10-24T14:31:36.846097743Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:19.793849Z"}]}}
