MCUBoot: How to configure to be able to upgrade firmware of any version by BLE?

nRF Connect SDK v2.0.0

For example, the current version is v5.0, you cannot upgrade to v5.0 or downgrade to v4.9. You can only upgrade versions above v5.0.

Parents
  • Hi,

    What you describe is downgrade prevention. It is controlled by the MCUBOOT_DOWNGRADE_PREVENTION configuration. See Downgrade prevention.

    Please note that if you disable downgrade prevention, and there is a bug that can be exploited in one version of your application, it will always be possible to use that exploit by first downgrading the firmware to a version where that bug was present. For this reason downgrade prevention should be enabled for all production devices. If for some reason you need to roll back, releasing older firmware with a new (higher) version number would always be an option. Through downgrade prevention you control what upgrades are possible (and what updates are not possible), and once upgraded to a later version the device is safe from previous attacks and exploits.

    Regards,
    Terje

Reply
  • Hi,

    What you describe is downgrade prevention. It is controlled by the MCUBOOT_DOWNGRADE_PREVENTION configuration. See Downgrade prevention.

    Please note that if you disable downgrade prevention, and there is a bug that can be exploited in one version of your application, it will always be possible to use that exploit by first downgrading the firmware to a version where that bug was present. For this reason downgrade prevention should be enabled for all production devices. If for some reason you need to roll back, releasing older firmware with a new (higher) version number would always be an option. Through downgrade prevention you control what upgrades are possible (and what updates are not possible), and once upgraded to a later version the device is safe from previous attacks and exploits.

    Regards,
    Terje

Children
No Data
Related