Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
P
poppler
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 612
    • Issues 612
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 43
    • Merge Requests 43
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • poppler
  • poppler
  • Issues
  • #962

Closed
Open
Created Sep 24, 2020 by Ghost User@ghost

Undefined Behavior in Decrypt.cc revision6Hash()

During fuzzing by X41 D-Sec, UndefinedBehaviorSanitizer warns about the following code position in revision6Hash():

poppler/poppler/poppler/Decrypt.cc:1778:52: runtime error: null pointer passed as argument 2, which is declared to never be null                                                                                                                                
/usr/include/string.h:44:28: note: nonnull attribute specified here
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /poppler/poppler/poppler/Decrypt.cc:1778:52 in

It appears that this case has been anticipated in the code. However, the current solution relies on undefined behavior and can therefore cause unspecified issues depending on the compiler.

One solution would be to skip this memcpy() if !userKey.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None