1
0
Fork 0
mirror of https://github.com/bjc/prosody.git synced 2025-04-06 06:37:37 +03:00
Prosody is a modern XMPP communication server http://prosody.im
Find a file
Jonas Schäfer e0b15fcba3 util.xml: Do not allow doctypes, comments or processing instructions
Yes. This is as bad as it sounds. CVE pending.

In Prosody itself, this only affects mod_websocket, which uses util.xml
to parse the <open/> frame, thus allowing unauthenticated remote DoS
using Billion Laughs. However, third-party modules using util.xml may
also be affected by this.

This commit installs handlers which disallow the use of doctype
declarations and processing instructions without any escape hatch. It,
by default, also introduces such a handler for comments, however, there
is a way to enable comments nontheless.

This is because util.xml is used to parse human-facing data, where
comments are generally a desirable feature, and also because comments
are generally harmless.
2022-01-10 18:23:54 +01:00
certs Add makefiles compatible with BSD make 2018-03-11 06:01:19 +01:00
core core.modulemanager: Remove compat for mod_console rename in 0.8 2022-01-05 04:04:45 +01:00
doc mod_bookmarks: Broadcast notifications per XEP-0048 and XEP-0411 2022-01-09 18:42:22 +01:00
fallbacks fallbacks.bit: remove unused one-letter loop variables [luacheck] 2016-07-14 18:40:43 +08:00
man man prosodyctl: Highlight subcommands 2017-10-23 12:46:11 +02:00
net net.resolvers: Report DNSSEC validation errors instead of NoError 2021-12-28 14:58:09 +01:00
plugins mod_http_file_share: Always measure total disk usage for statistics! 2022-01-11 04:15:29 +01:00
spec util.xml: Do not allow doctypes, comments or processing instructions 2022-01-10 18:23:54 +01:00
teal-src util.datamapper: Add support for $ref pointers 2021-12-29 17:57:09 +01:00
tools migrator: Support pubsub and pep as a special-case 2022-01-09 18:52:58 +01:00
util util.xml: Do not allow doctypes, comments or processing instructions 2022-01-10 18:23:54 +01:00
util-src util.pposix: Use mallinfo2() on glibc 2.33, fix 2022-01-06 18:56:06 +01:00
.busted util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi()) 2019-04-19 14:12:28 +02:00
.editorconfig editorconfig: We use tabs 2021-07-18 12:57:06 +02:00
.hgignore hgignore: Stop ignoring *.report, these are no longer created since switching to busted 2017-10-22 14:39:59 +02:00
.luacheckrc mod_cron: Add a 'weekly' job frequency 2021-12-03 09:05:41 +01:00
.luacov .luacov: Add config for luacov, exclude spec/ 2018-10-11 10:39:11 +01:00
.semgrep.yml lint: Add initial semgrep config 2021-01-18 17:28:34 +01:00
AUTHORS AUTHORS: A small update... 2013-03-31 13:43:12 +01:00
CHANGES mod_invites_adhoc: Import from prosody-modules@5001104f0275 2022-01-05 04:37:14 +01:00
configure configure: Silence warning about echo -n [shellcheck] 2021-11-29 17:40:40 +01:00
CONTRIBUTING CONTRIBUTING: Add a short file referencing the online doc/contributing page 2019-04-03 01:09:21 +02:00
COPYING COPYING: Reflow the all-caps text. It was wrapping really badly in the Windows installer. 2011-06-05 01:52:48 +05:00
DEPENDS DEPENDS: Change link to https 2017-12-05 11:59:43 +01:00
GNUmakefile util.jsonpointer: Resolve JSON Pointers per RFC 6901 2021-12-29 16:52:09 +01:00
HACKERS doc/coding_style.{txt,md}: Update coding style guide 2019-03-14 16:13:14 +00:00
INSTALL Update every link to the documentation to use HTTPS 2016-04-16 21:08:05 +01:00
makefile Merge 0.11->trunk 2021-08-30 15:22:01 +02:00
prosody prosody: Close the state on exit (ie garbage-collect everything) 2021-05-18 20:08:37 +02:00
prosody.cfg.lua.dist prosody.cfg.lua.dist: Replace use_libevent with network_backend 2021-05-24 01:34:01 +02:00
prosodyctl prosodyctl: Hide process management commands when init system should be used instead 2021-12-21 14:23:09 +01:00
README README: Update link to web chat 2020-03-15 20:35:07 +01:00
TODO TODO: Remove statistics since this was done in 0.10 2019-01-21 21:30:54 +01:00

# Prosody IM Server

## Description

Prosody is a server for Jabber/XMPP written in Lua. It aims to be easy 
to use and light on resources. For developers, it aims to give a 
flexible system on which to rapidly develop added functionality or 
rapidly prototype new protocols.

## Useful links

Homepage:        https://prosody.im/
Download:        https://prosody.im/download
Documentation:   https://prosody.im/doc/
Issue tracker:   https://issues.prosody.im/

Jabber/XMPP Chat:
               Address:
                 prosody@conference.prosody.im
               Web interface:
                 https://chat.prosody.im/
               
Mailing lists:
               User support and discussion:
                 https://groups.google.com/group/prosody-users
               
               Development discussion:
                 https://groups.google.com/group/prosody-dev
               
## Installation

See the accompanying INSTALL file for help on building Prosody from source. Alternatively 
see our guide at https://prosody.im/doc/install