Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Conversation

@monster860
Copy link
Member

This is the website part of my voice announcement system thingy.

Note for alex the catboy enthusiast: environment variable GAME_VOICE_ANNOUNCE_DIR must be set to like a directory that's shared between the game server and this.

Dockerfile Outdated
COPY . /srv/www/yogsite
COPY nginx.conf /etc/nginx/sites-available/

RUN apt-get install -y ffmpeg
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like current available version on Debian is ffmpeg v4.1.6 which is currently vulnerable to a RCE vulnerability, see https://www.cvedetails.com/cve/CVE-2021-30123/

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do I improve this situation

Copy link
Member

@AshCorr AshCorr Jun 5, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There isnt really an ideal solution until latest version of ffmpeg is moved into the stable branch.

You can use the experimental branch, but who knows what issues that might have.

RUN echo "deb http://deb.debian.org/debian experimental main" >>  /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y -t experimental ffmpeg

Or see if theres some alternative / workaround... I couldn't see any listing for a workaround on the CVE though. Maybe you could disable compression?

Copy link
Member

@AshCorr AshCorr Jun 5, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still need to use ffmpeg to verify the duration of the sound clip to make sure the user didn't upload like a long-ass sound clip or something

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright after doing some testing I was able to get the experimental version of ffmpeg to install properly

@blueprint.route("/voice_announce/<string:id>/upload", methods=["POST"])
@flask_csrf_ext.exempt
def voice_announce_upload(id):
id = secure_filename(id)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome

"voice_announce_query": id,
"key": server["comms_key"]
})
print(res["exists"])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont forget to get rid of these

@monster860 monster860 requested a review from qwertyquerty June 9, 2021 08:20
@JamieD1
Copy link
Contributor

JamieD1 commented Jun 13, 2021

Ash is going to kill me

@JamieD1 JamieD1 merged commit 1fc43df into yogstation13:master Jun 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants