openwall / openwall/john

OpenCL format memory leaks

Open
#5,893 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

    #2 0x560cdb2fe3ba in w_block_precomputed /home/user/john/src/opencl_bitlocker_fmt_plug.c:383
    #2 0x560cdb300316 in create_clobj /home/user/john/src/opencl_bitlocker_fmt_plug.c:133
    #2 0x560cdb300331 in create_clobj /home/user/john/src/opencl_bitlocker_fmt_plug.c:134
    #2 0x560cdb300345 in create_clobj /home/user/john/src/opencl_bitlocker_fmt_plug.c:135
    #2 0x560cdb30038a in create_clobj /home/user/john/src/opencl_bitlocker_fmt_plug.c:138
    #2 0x560cdb3003a0 in create_clobj /home/user/john/src/opencl_bitlocker_fmt_plug.c:139
    #2 0x560cdb3003b6 in create_clobj /home/user/john/src/opencl_bitlocker_fmt_plug.c:140
    #2 0x560cdb3003cc in create_clobj /home/user/john/src/opencl_bitlocker_fmt_plug.c:141
    #2 0x560cdb3003e2 in create_clobj /home/user/john/src/opencl_bitlocker_fmt_plug.c:142
    #2 0x560cdb3003f8 in create_clobj /home/user/john/src/opencl_bitlocker_fmt_plug.c:143
    #2 0x560cdb344098 in create_clobj /home/user/john/src/opencl_diskcryptor_aes_fmt_plug.c:134
    #2 0x560cdb349100 in create_clobj /home/user/john/src/opencl_diskcryptor_fmt_plug.c:132
    #2 0x560cdb349154 in create_clobj /home/user/john/src/opencl_diskcryptor_fmt_plug.c:137
    #2 0x560cdb35765e in create_clobj /home/user/john/src/opencl_electrum_modern_fmt_plug.c:156
    #2 0x560cdb36d2a5 in create_clobj /home/user/john/src/opencl_ethereum_presale_fmt_plug.c:113
    #2 0x560cdb51b9d6 in create_clobj /home/user/john/src/opencl_solarwinds_fmt_plug.c:124

The one in BitLocker is pretty bad in that it can accumulate during cracking (but I think only when there's more than one salt). The rest are mostly cosmetic, but they increase memory usage of multi-format --test.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting create_clobj in the listed opencl_*_fmt_plug.c files and w_block_precomputed in opencl_bitlocker_fmt_plug.c. Reproduce the issue with multi-format --test and with BitLocker cracking using multiple salts; done means the reported allocations no longer leak and memory usage does not keep increasing.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.