Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Author Ricard Torres

    (@quicoto)

    Interesting. How could we fix that?

    Any idea? Are you willing to give me a hand?

    Plugin Author Ricard Torres

    (@quicoto)

    Hello,

    I’ve pushed an update (1.5). Please test it and let me know:

    https://wordpress.org/plugins/zip-attachments/changelog/

    Sounds like this should be fixed by checking that the download path of the requested file is within a directory that you’re expecting. Presumably this should be under /Uploads, since that’s the only directory you can rely on being writeable by the WordPress user.

    Plugin Author Ricard Torres

    (@quicoto)

    Yeah, you’re probably right.

    At the moment the temporal file is being created in the same plugin directory but I guess /wp-content/uploads makes more sense.

    I’ve pushed the 1.5.1 update with this change.

    Let me know.

    Plugin Author Ricard Torres

    (@quicoto)

    Ok so now since it’s not the system tmp folder if you cancel a download it will remain there, it won’t unlink the file.
    That’s not good.

    dgmstuart, any idea how we could based on the 1.4 version check the correct path?

    I did a quick google, and found what seems to be the WordPress function you’re supposed to be using when you do things like this: https://codex.wordpress.org/Function_Reference/validate_file

    I don’t know anything about what this plugin does, so I don’t understand your question about ‘unlinking’. Using /tmp on the server to store files seems pretty extreme though: I’d hope that people wouldn’t give the wordpress process such wide access to the system that this would be possible.

    Perhaps you just need to regularly clean up the Uploads directory – deleting files older than a certain age.

    Plugin Author Ricard Torres

    (@quicoto)

    Ok, thank you.

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘zip-attachments wordpress plugin v1.1.4 arbitrary file download vulnerability’ is closed to new replies.