Hacker News new | ask | show | jobs
by TeMPOraL 844 days ago
No surprise, those are near-impossible to avoid. I mean, a simple:

  if(check(resource)) {
    use(resource);
  }
is already vulnerable, unless you somehow make the entire piece of code run atomically.
2 comments

One approach is to copy the data to a location that you control first (eg: RAM) and perform both the check and the use of that data from the trusted location. That can be difficult though on embedded devices with constrained resources.
For a firmware update: read it into memory or copy it to storage you control first.