View Issue Details

IDProjectCategoryView StatusLast Update
0006195Talerexchangepublic2021-09-02 18:14
Reporterfefe Assigned ToChristian Grothoff  
PrioritynormalSeveritymajorReproducibilityN/A
Status closedResolutionfixed 
Product Version0.7.0 
Target Version0.7.1Fixed in Version0.7.1 
Summary0006195: integer overflow in deserialize_denomination_key
DescriptionIn exchange/src/lib/exchange_api_refresh_common.c:

269 memcpy (&be,
270 buf,
271 sizeof (uint32_t));
272 pbuf_size = ntohl (be);
273 if (size < sizeof (uint32_t) + pbuf_size)

Not sure if you support 32-bit platforms, but on 32-bit the addition in line 273 can cause arithmetic overflow, leading to the range check not triggering and a potential out of bounds memory read (maybe even convertible into a Heartbleed situation):

279 dk->rsa_public_key
280 = GNUNET_CRYPTO_rsa_public_key_decode (&buf[sizeof (uint32_t)],
281 pbuf_size);

TagsNo tags attached.

Activities

Christian Grothoff

2020-04-21 15:30

manager   ~0015727

Fixed in 32bce6da..09294481

Christian Grothoff

2021-09-02 18:14

manager   ~0018259

Fix committed to master branch.

Related Changesets

exchange: master 09294481

2020-04-21 17:25

Christian Grothoff


Details Diff
fix 0006195 Affected Issues
0006195
mod - src/lib/exchange_api_refresh_common.c Diff File

Issue History

Date Modified Username Field Change
2020-04-21 15:22 fefe New Issue
2020-04-21 15:22 fefe Status new => assigned
2020-04-21 15:22 fefe Assigned To => Christian Grothoff
2020-04-21 15:30 Christian Grothoff Status assigned => resolved
2020-04-21 15:30 Christian Grothoff Resolution open => fixed
2020-04-21 15:30 Christian Grothoff Fixed in Version => 0.7.1
2020-04-21 15:30 Christian Grothoff Note Added: 0015727
2020-04-21 15:30 Christian Grothoff Target Version => 0.7.1
2021-08-24 16:23 Christian Grothoff Status resolved => closed
2021-09-02 18:13 Christian Grothoff Changeset attached => Taler-exchange master 09294481
2021-09-02 18:14 Christian Grothoff Note Added: 0018259