Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for OOB read in APFSJObject::add_entry #2802, #2804 #2803

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

joachimmetz
Copy link
Contributor

No description provided.

@joachimmetz
Copy link
Contributor Author

@bcarrier @rcordovano PTAL

@joachimmetz joachimmetz changed the title Fix for OOB read in APFSJObject::add_entry #2802 Fix for OOB read in APFSJObject::add_entry #2802, #2804 Feb 11, 2023
@lfcnassif
Copy link
Contributor

lfcnassif commented Feb 16, 2023

Hi @joachimmetz. I'm testing this on some APFS images. For the 2 I've tested until now, it seems to freeze FS transversal at the very beginning, not sure if it is forever or if it became very slow at some point, I canceled the decoding after some dozens of minutes.

@joachimmetz
Copy link
Contributor Author

any test image you can share? or test case to reproduce as part of https://github.com/dfirlabs/apfs-specimens? The thing is there are no unit tests for TSK and I use its APFS functionality VERY SPORADIC.

@lfcnassif
Copy link
Contributor

Unfortunately they are real case images... I'm not experienced with C code debugging, but If you could point me some tutorial to get some thread dump/stacktrace at the freezing point, I can try to execute the procedure.

@joachimmetz
Copy link
Contributor Author

joachimmetz commented Feb 16, 2023

one option is to use fls -v (with and without patches) and see where it errors and then use fsapfsinfo with debug info to see what data structures TSK might no longer be fully parsing.

I'm not experienced with C code debugging,

this highly depends on the coding style as well, TSK APFS is C++ heavy with use of templating, so hard to debug (and maintain)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants